En estos días he tenido que buscar una forma de detectar si un Nif español era o no válido para lo que me he ayudado de la Wikipedia. Y a continuación expongo lo que he hecho.
Función para detectar Nif correcto.
[sourcecode language=»groovy»]
def nifValido (nif) {
if (nif == "")
return false
def n = nif.toUpperCase()
String NIF_STRING_ASOCIATION = "TRWAGMYFPDXBNJZSQVHLCKET"
def dni = n[0..-2].toInteger()
if ((n ==~ /^[0-9]{8}[A-Za-z]$/) && (n.contains(NIF_STRING_ASOCIATION.charAt(dni % 23).toString()))){
log.info ("El nif $n es correcto")
return true
}
log.info ("El nif $n No es correcto")
return false
}
[/sourcecode]
Enlaces de Referencia
- Número de Indentificación fiscal (Nif) , referencia la Wikipedia.
- Algoritmo para obtener la letra del NIF, referencia la Wikipedia.
No funciona, por favor revísalo.