Validar NIE y DNI en el mismo campo del formulario
Tengo un campo y quisiera que no enviara el formulario si el DNI o el NIE es incorrecto.
Tengo esto y no me sale:
<script>
function ValidaCampos(formulario) {
var expresion_regular_dni = /^\d{8}[a-zA-Z]$/; // 8 cifras numéricas más un carácter alfabético.
if(expresion_regular_dni.test(formulario.dni.value)==false) {
alert('El campo del DNI no es válido, debe tener 9 números y letra sin espacios');
return false; // sale de la función y NO envía el formulario
}
</script>
<script type="text/javascript">
function nif(dni) {
numero = dni.substr(0,dni.length-1);
let = dni.substr(dni.length-1,1);
numero = numero % 23;
letra='TRWAGMYFPDXBNJZSQVHLCKET';
letra=letra.substring(numero,numero+1);
if (letra!=let)
else
var nie = this.toUpperCase();
var pre = nie.substr(0, 1);
var prev = '0';
if (pre == 'X')
prev = '0';
else if (pre == 'Y')
prev = '1';
else if (pre == 'Z')
prev = '2';
numero = prev + nie.substr(1,nie.length-1);
if (prev!=numero)
alert('DNI/NIE erroneo, vuelva a intentarlo');
else
alert('DNI/NIE CORRECTO !!, continue con el formulario');
else
}
</script>
Tengo esto y no me sale:
<script>
function ValidaCampos(formulario) {
var expresion_regular_dni = /^\d{8}[a-zA-Z]$/; // 8 cifras numéricas más un carácter alfabético.
if(expresion_regular_dni.test(formulario.dni.value)==false) {
alert('El campo del DNI no es válido, debe tener 9 números y letra sin espacios');
return false; // sale de la función y NO envía el formulario
}
</script>
<script type="text/javascript">
function nif(dni) {
numero = dni.substr(0,dni.length-1);
let = dni.substr(dni.length-1,1);
numero = numero % 23;
letra='TRWAGMYFPDXBNJZSQVHLCKET';
letra=letra.substring(numero,numero+1);
if (letra!=let)
else
var nie = this.toUpperCase();
var pre = nie.substr(0, 1);
var prev = '0';
if (pre == 'X')
prev = '0';
else if (pre == 'Y')
prev = '1';
else if (pre == 'Z')
prev = '2';
numero = prev + nie.substr(1,nie.length-1);
if (prev!=numero)
alert('DNI/NIE erroneo, vuelva a intentarlo');
else
alert('DNI/NIE CORRECTO !!, continue con el formulario');
else
}
</script>
1 Respuesta
Respuesta de jcarmonal