Foros del Web » Programando para Internet » Javascript »

Funcionamiento función validar DNI

Estas en el tema de Funcionamiento función validar DNI en el foro de Javascript en Foros del Web. Hola. Navegando por la red encontre esta función para validar el DNI y C.P. de un formulario y decirme ignorante pero me podrias explicar o ...
  #1 (permalink)  
Antiguo 01/02/2007, 12:53
Avatar de alamarcheta  
Fecha de Ingreso: mayo-2005
Ubicación: Isla Mêlée
Mensajes: 503
Antigüedad: 18 años, 11 meses
Puntos: 1
Pregunta Funcionamiento función validar DNI

Hola. Navegando por la red encontre esta función para validar el DNI y C.P. de un formulario y decirme ignorante pero me podrias explicar o dejarme un tuto de como funciona lo que os marco en negrita.

function validacion3(formulario) {

var er_cp = /(^([0-9]{5,5})|^)$/ //5 numeros o cadena vacia
var er_dni = /(^([0-9]{8,8}\-[A-Z])|^)$/ //8 números, un guion y una letra, o cadena vacia

//comprueba campo codigo postal
if(!er_cp.test(formulario.cp.value)) {
alert('Contenido del campo CODIGO POSTAL no válido.')
return false
}

//comprueba campo dni
if(!er_dni.test(formulario.dni.value)) {
alert('Contenido del campo DNI no válido.')
return false
}

alert('Los campos introducidos son CORRECTOS.')
return false //cambiar por return true para ejecutar la accion del formulario
}

Saludos.
  #2 (permalink)  
Antiguo 01/02/2007, 13:07
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 3 meses
Puntos: 3
Re: Funcionamiento función validar DNI

/(^([0-9]{5,5})|^)$/

las / ... / indica que es una expresion regular
el simbolo $ indica que el patron tiene que encajar al final de la cadena.
[0-9] es una clase:cualquier numero de 0 a 9
{5,5} indica la longitus de la cadena, de 5 a 5 caracteres, es lo mismo que poner {5}
por ejemplo: {2,4} indica que puede ser de longitud 2 a longitud 4

el simbolo ^ indica que el patron tiene que empezar al principio de una cadena.

en definitiva para un CP: /^[0-9]{5}$/
esto es igual a: /^\d{5}$/ ya que \d = [0-9]

y DNI: /^[0-9]{8}\-[A-Z]$/

\- indica simplemente el guion(-) se ponen las barras para no confudirlos con operadores, en este caso CREO que se puede quitar pq no hay ningun operador que sea -, o por lo menos no caigo ahora

en tu ejemplo:
/(^([0-9]{5,5})|^)$/

donde pone |^ --> es lo que indica que puede ser la cadena vacia, pero si quieres validar algo no conviene que permita la cadena vacia

busca en google: expresiones regulares javascript, y tendras mas informacion

Saludos.

Última edición por wigglyUtrera; 01/02/2007 a las 13:20
  #3 (permalink)  
Antiguo 01/02/2007, 13:21
Avatar de alamarcheta  
Fecha de Ingreso: mayo-2005
Ubicación: Isla Mêlée
Mensajes: 503
Antigüedad: 18 años, 11 meses
Puntos: 1
Muchas gracias. Voy a pegar un vistazo.
Chao.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:47.