Detectar si un Nif es correcto en Groovy

Posted by davioth on Septiembre 3rd, 2009 filed in Groovy

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.

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

Leave a Comment