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

Cita:
Iniciado por forosdelwebdr Ver Mensaje
Aaaahhh EnCeRio, hablas de euros en tu firma eres español, no? pero no deberías hablar de nif?

Anyway te paso un script según DNI de Argentina que va por los 50 millones casí y los extrajeros tienen 90, creo de 100 no hay.
Perfectamente puede tener un 0 delante porque hay mucha gente de 50/60 años con documento 7.000.000 y poner 07.000.000 esta mal escrito pero es válido.

Código PHP:
<script>
function 
valida_envia(){
    
//valido el dni
    
var dni document.form.dni.value;
    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})/);//1.1
    // si sería 2 significa que el número es menor a 1.000.000.. estan todos fiambres
    
if (found.length == 3) {
        
document.form.dni.value=dni.join("");//1.2
        
return true;
    } else {
        
alert((found.length ) ?
            
"Número de DNI incorrecto" :
            
"Debe introducir su DNI")
        );
        
document.form.dni.focus()
        return 
false;
    }
}
</script> 
Avisa si te funciona, ya q usar NaN necesitas tener la misma versión que match y con join nos fuimos un poco pero bue'...

Espero que te sirva.

Saludos
Muchas gracias por tu respuesta forosdelwebdr

Si soy español, yo lo llamo dni, nif, carnet, lo primero que me viene a la cabeza jejeje

Lo he probado y no me funciona, le doy a enviar pero no hace nada ¿?, donde dices que debo poner las barras invertidas?

Ahora lo he dejado así:


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?