- Validar correos
- Validate emails
Esta función, f_valida_correo
, recibe una cadena de correo electrónico ls_cadena_correo
y devuelve un valor booleano lb_correo_error
que indica si hubo algún error en los correos electrónicos proporcionados.
/ This function, f_valida_correo
, receives an email string ls_cadena_correo
and returns a boolean value lb_correo_error
indicating whether there was any error in the provided email addresses.
ls_cadena_correo
: String que contiene correos electrónicos separados por comas.- Ejemplo:
juan_p@empresauno.com.mx,marco_l@gmail.com,laura_lo@yahoo.com
- Ejemplo:
ls_cadena_correo
: String containing email addresses separated by commas.- Example:
juan_p@empresauno.com.mx,marco_l@gmail.com,laura_lo@yahoo.com
- Example:
lb_correo_error
: Valor booleano que indica si hay algún error en los correos electrónicos.
string la_correos[]
string la_correosIncorrectos[]
long ll_pos, ll_start, ll_i
ll_start = 1
boolean lb_correo_error
lb_correo_error = false
// Separar la cadena en correos electrónicos
for ll_pos = 1 to Len(ls_cadena_correo)
if Mid(ls_cadena_correo, ll_pos, 1) = ',' then
la_correos[UpperBound(la_correos) + 1] = Mid(ls_cadena_correo, ll_start, ll_pos - ll_start)
ll_start = ll_pos + 1
end if
next
// Agregar el último correo después del último separador
la_correos[UpperBound(la_correos) + 1] = Mid(ls_cadena_correo, ll_start)
int li_cont_err
// Expresión regular que verifica uno a uno los correos del arreglo para validar si cumple con el formato de un correo
for ll_i = 1 to UpperBound(la_correos)
if Match(la_correos[ll_i], '^[a-zA-Z0-9][a-zA-Z0-9\-_\.]*\@[a-zA-Z0-9][a-zA-Z0-9\-_\.]*\.[a-zA-Z0-9\-_\.]+[a-zA-Z0-9]+$') then
else
la_correosIncorrectos[UpperBound(la_correosIncorrectos) + 1] = la_correos[ll_i] // cada correo erroneo se almacena en este arreglo
li_cont_err ++ // contador de correos erroneos
end if
next
if li_cont_err > 0 then // si el contador de correos erroneos es mayor a 0 recorrer el arreglo de correos para mostrar en un mensaje los correos a corregir
string ls_mensaje_error
ls_mensaje_error = "Favor de revisar ya que alguno de los siguientes correos están incorrectos:" + Char(13) + Char(10) + Char(13)
for ll_i = 1 to UpperBound(la_correosIncorrectos)
ls_mensaje_error += la_correosIncorrectos[ll_i] + Char(13) + Char(10) + Char(13)
next
MessageBox("Error", ls_mensaje_error)
lb_correo_error = true
end if
return lb_correo_error
remember
PowerBuilder may have some limitations compared to languages specifically designed to handle regular expressions in a more advanced way, such as Python or JavaScript.
recuerda
PowerBuilder puede tener algunas limitaciones en comparación con lenguajes específicamente diseñados para manejar expresiones regulares de manera más avanzada, como Python o JavaScript.