Cita:
Iniciado por EnCeRiO 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
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