-
-
Save PecceG2/009bdb822e1feb38fe84f735ec9409a1 to your computer and use it in GitHub Desktop.
Validar Numero de Dni Solo Numeros y longitud 7-8 mediante expresiones regulares en Javascript (Fork: Soporta símbolos y acepta de 7 a 8 caracteres para personas mayores)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function validaDNI(dni){ | |
onlyNumbersDNI = dni.toString().replace(/\D/g, ''); | |
let ex_regular_dni = /^\d{7,8}(?:[-\s]\d{4})?$/; | |
if(ex_regular_dni.test(onlyNumbersDNI) == true && !(/[a-zA-Z]/g.test(dni)) && onlyNumbersDNI === dni.replace(/(\d)[\s.]+(?=\d)/g, '$1')){ | |
alert('Dni corresponde'); | |
return true; | |
}else{ | |
alert('Dni erroneo, formato no válido'); | |
return false; | |
} | |
} | |
//Uso | |
validaDNI("12345678") // True | |
validaDNI("12.345.678") // True | |
validaDNI("1.234.567") // True | |
validaDNI("123.456") // False | |
validaDNI("1234") // False | |
validaDNI("Test") // False | |
validaDNI("12345678A") // False | |
validaDNI("12.345.678B") // False |
**testacode ** commented hace 30 minutos
Se actualizó el código, ahora valida sin símbolos ni letras contra sin puntos ni espacios. Permite escribir "12.345.678" o "12 345 678" pero no "12.345.678A" ni "12345678A".
Debería funcionar cómo se espera.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
validaDNI("12345678A") arroja que corresponde asi que no estaria validando bien.