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