Posted by translector on September 26, 2019 at 4:40pm
Hola amigos,
Junto con saludarles, les comento que estoy trabajando en la validación de un formulario donde se debe ingresar en un campo el número NIT (algo similar al rut, pero utilizado en Guatemala).
No estoy utilizando el módulo rut, ya que la validación debe hacerse en php del lado del servidor. Tengo el siguiente código, pero no me está validando correctamente.
/**
* Validator of nit
* @param $nit: string
* @return boolean: if nit is correct return true else return false
*/
public function isValidNit($nit) {
$isValidNit = TRUE;
$nit = str_replace('-', '', $nit);
$numero = substr($nit, 0, 8);
$verificador = substr($nit, 8, 1);
$numero = str_split($numero);
$suma = 0;
for ($ii = 0; $ii < count($numero); $ii++) {
$suma += $numero[$ii] * ($ii + 2);
}
$resultado = ($suma % 11);
$isValidNit = ($resultado != $verificador) ? FALSE : TRUE;
return $isValidNit;
}Les agradecería mucho si le pudieran echar un vistazo y comentar si hay algún detalle que se me esté escapando.
Saludos y ojalá nos veamos pronto en alguna reunión por ahí.
Comments
Puedes poner un ejemplo de
Puedes poner un ejemplo de ese número NIT, y que resultado debería retornar la función, para poder verificar si está bien o no.
Es muy similar al RUT:
Es muy similar al RUT: https://github.com/arthurdejong/python-stdnum/issues/132