Posts Tagged “validar campos”

Para validar direcciones de Internet simples (URL’s) de usuarios que introducen su página web en un campo de formulario podemos utilizar la siguiente función en Javascript:

function ValidarUrl(txtCampo)
  strExpReg = /^http:\/\/[a-zA-Z0-9-_:/.?&=]+$/;
  if (!strExpReg.test(txtCampoActual.value)){
    strMensaje = 'La página web no es válida,\ncontiene carácteres ';
    strMensaje += 'no válidos o no empieza por "http://"';
    alert(strMensaje);
    txtCampoActual.focus();
    return false;
  }
  return true;
end function

En este caso, la validación se realiza del lado del cliente (al ser Javascript) y la función recibe como parámetro el campo del formulario donde irá la URL, mostrando un mensaje de error si la URL no es válida y devolviendo el foco a ese campo.

Obtener su versión en ASP y otros lenguajes es fácil adaptando la expresión regular a la sintaxis de cada lenguaje

Etiquetas: , ,

Comments 3 Comentarios »

Para validar direcciones de e-mail podemos utilizar la siguiente función en ASP:

function esValidoEmail(cadena)
  set expReg = New RegExp
  expReg.Pattern = "^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@_
                     [_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*$"
  esValidoEmail = expReg.Test(cadena) and len(cadena) < 256
  set expReg = nothing
end function

Su versión en Javascript:

function esValidoEmail(cadena) {
  strExpReg = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@_
                [_a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/;
  return strExpReg.test(cadena);
}

Como en las otras funciones, en esta función en Javascript sí que es necesario juntar la expresión en una única línea quitando los _ de final de línea porque de lo contrario no funcionará.

Etiquetas: , ,

Comments No Hay Comentarios »

Continuando con las expresiones regulares, para validar fechas se puede utilizar la siguiente función en ASP:

function esValidoFecha(cadena)
  set expReg = New RegExp
  expReg.Pattern = "^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])_
                    (\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)_
                    ([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])_
                    (\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|_
                    ((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)_
                    ([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9]_
                    [0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9]_
                    [13579][26])))$"
  esValidoFecha = expReg.Test(cadena)
  set expReg = nothing
end function

La expresión regular (que se puede poner en una única línea eliminando los _ finales) es un poco larga porque ha de tener en cuenta los días de los meses del año, los años bisiestos,… Para validar del lado del cliente (antes de enviar el formulario), se puede utilizar el mismo patrón en Javascript:

function esValidoFecha(cadena) {
  strExpReg = /^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])_
                (\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)_
                ([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])_
                (\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|_
                ((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)_
                ([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9]_
                [0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9]_
                [13579][26])))$/;
  return strExpReg.test(cadena);
}

En esta función en Javascript sí que es necesario juntar la expresión en una única línea quitando los _ porque de lo contrario no funcionará.

Etiquetas: , , ,

Comments 10 Comentarios »

Las expresiones regulares en programación son útiles para validar campos enviados y parámetros recibidos de formularios web en lenguaje ASP o Javascript.

Etiquetas: , , , , ,

Comments No Hay Comentarios »