Detectar si un Nif es correcto en Groovy

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

Esta entrada ha sido publicada en Groovy y etiquetada como , , . Guarda el enlace permanente.

1 respuesta a Detectar si un Nif es correcto en Groovy

  1. KK dijo:

    No funciona, por favor revísalo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *