Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/01/2008, 08:28
Avatar de EnCeRiO
EnCeRiO
 
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Validación dni en formulario

Cita:
Iniciado por forosdelwebdr Ver Mensaje
Código HTML:
<html>
<body>
<script> 
function valida_envia(){ 
	//valido el dni 
	var dni = document.form.dni.value;
	if (!dni || !/[0-9]+/.test(dni)) {
                       alert((dni) ? 
		"DNI incorrecto" : 
		"Debe introducir su DNI");
                       return false;
                }
	var found = new Array(); 
	//delante de los punto va una barra invertida contraria a / el problema es que este foro elimina las barras 
	found = dni.match(/([0-9]{1,2})\.?([0-9]{3})\.?([0-9]{3})/);
	// si sería 3 significa que el número es menor a 1.000.000.. estan todos fiambres 
	//disculpa olvide el match completo son 4 los resultados  
	if (found.length == 4) {
		found.splice(0,1);
		document.form.dni.value=found.join();
		return true; 
	} else { 
		alert("Número de DNI incorrecto"); 
		document.form.dni.focus() 
		return false; 
	} 
} 
</script>
<form name=form>
<input type=text name=dni>
<input type=button onclick="alert(valida_envia() ? 'Devolvio true': 'Devolvio false')" >
</form>
</body>
</html> 
Chequea esto recuerda que comprueba DNI hasta 99.999.999 con o sin puntos, si quieres que complete con puntos debes poner en la funcion join() esto join(".")

Las barras invertidas van donde las pusiste

Espero que sirva.

Saludos
Muchisimas gracias forosdelwebdr

Saludos
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?