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.
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 }
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.