Ir para o conteúdo

- - - - -

Validação De Cnh

Validação CNH


Criado por João Batista Neto, Out 04 2010 16:51

2 respostas neste tópico
  • Por favor, faça o login para responder

#1 João Batista Neto

João Batista Neto
  • João Batista Neto
  • Verschränkung
  • 57 Revisões
  • LocalizaçãoFranca/SP

Revisou 04 outubro 2010 - 16:51


/**
* Valida uma CNH
* @param string $cnh A CNH
* @return boolean
*/
function isValidCNH( $cnh ) {
$ret = false;

if ( is_string( $cnh ) ) {
if ( ( strlen( $cnh = preg_replace( '/[^\d]/' , '' , $cnh ) ) == 11 ) && ( str_repeat( $cnh{ 1 } , 11 ) != $cnh ) ) {
$dsc = 0;

for ( $i = 0 , $j = 9 , $v = 0 ; $i < 9 ; ++$i , --$j )
$v += (int) $cnh{ $i } * $j;

if ( ( $vl1 = $v % 11 ) >= 10 ) {
$vl1 = 0;
$dsc = 2;
}

for ( $i = 0 , $j = 1 , $v = 0 ; $i < 9 ; ++$i , ++$j )
$v += (int) $cnh{ $i } * $j;

$vl2 = ( $x = ( $v % 11 ) ) >= 10 ? 0 : $x - $dsc;
$ret = sprintf( '%d%d' , $vl1 , $vl2 ) == substr( $cnh , -2 );
}
}

return $ret;
}


João Batista Neto
Desenvolvedor engenheiro PHP
http://www.google.com/profiles/neto.joaobatista

#2 Clube do PhP

Clube do PhP
  • Clube do PhP
  • Colaborador
  • 5 Revisões
  • LocalizaçãoPalmas - Pr - Brasil

Revisou 16 maio 2012 - 00:37

Algo que poucas pessoas acabam usando e a validacao de cnh... estou testando essa validacao... Parabens pela iniciativa...
Queria alterar o mundo...
Mais não me deram o código-fonte!!!

#3 Evandro Oliveira

Evandro Oliveira
  • Evandro Oliveira
  • Colaborador
  • 2 Revisões

Revisou 04 maro 2013 - 18:57

Módulo 11?




1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)