Como validar UN DNI
Hola amigos necesito un código de php para validar dni, tengo este pero no funciona, para los que no saben DNI es documento nacional de identidad de ARGENTINA, y esta compuesto por números y no letras
<?php
function valida_dni($dni){
$str = trim($dni);
$str = str_replace("-","",$str);
$str = str_ireplace(" ","",$str);
$n = substr($str,0,strlen($str)-1);
$n = intval($n);
if (!is_int($n)){
return 0;
}
$l = substr($str,-1);
if (!is_string($l)){
return 0;
}
$letra = substr ("1234567890", $n%23, 1);
if ( strtolower($l) == strtolower($letra)){
return $n.$l;
}else{
return 0;
}
}
if (valida_dni("31152757")==false){
echo "el dni no es correcto";
}
<?php
function valida_dni($dni){
$str = trim($dni);
$str = str_replace("-","",$str);
$str = str_ireplace(" ","",$str);
$n = substr($str,0,strlen($str)-1);
$n = intval($n);
if (!is_int($n)){
return 0;
}
$l = substr($str,-1);
if (!is_string($l)){
return 0;
}
$letra = substr ("1234567890", $n%23, 1);
if ( strtolower($l) == strtolower($letra)){
return $n.$l;
}else{
return 0;
}
}
if (valida_dni("31152757")==false){
echo "el dni no es correcto";
}
Respuesta de Juan Moreno