Um membro havia postado uma dúvida com um verificador de CPF e eu resolvi criar um script para que possam utilizar em suas aplicações
Código:
<html>
<head>
<script type="text/javascript">
var cpf;
var digito = new Array(11);
var digito2 = new Array(11);
var total_numero_d10 = 0
var total_numero_d11 = 0
var valor1;
var valor2;
function Valida() {
cpf = document.form.cpf.value.toString()
//Retira os pontos (".") e traços ("-") do CPF
cpf = cpf.replace(".","")
cpf = cpf.replace(".","")
cpf = cpf.replace(".","")
cpf = cpf.replace("-","")
if (cpf=="") {
//O usuário deixou o campo em banco
alert("Digite um C.P.F para validar")
}else if (cpf.length!=11) {
// O cpf informado não possui 11 dígitos
alert("O CPF digitado é inválido !\nNão possui 11 dígitos")
}else if (isNaN(cpf)) {
alert("O CPF informado não é um número válido")
}else{
/* Nessa parte iremos fazer a verificação completa do CPF */
// Atribui valor às posições 10 e 11 do array (dígitos verificadores)
digito[10] = cpf.charAt(9)
digito[11] = cpf.charAt(10)
// Faz uma array com os números de 10 a 2
for (i=11;i>=2;i--) {
digito2[i] = i
}
// Verifica os dígitos informados no CPF
for (i=1;i<=9;i++) {
digito[i] = cpf.charAt(i-1)
total_numero_d10 += parseInt(digito[i])*parseInt(digito2[11-i])
}
valor1 = total_numero_d10 % 11
if (valor1<2) {
valor1 = 0
}else{
valor1 = 11 - valor1
}
for (i=1;i<=9;i++) {
total_numero_d11 += parseInt(digito[i])*(11-i+1)
}
total_numero_d11 += valor1*2
valor2 = total_numero_d11 % 11
if (valor2<2) {
valor2 = 0
}else {
valor2 = 11 - valor2
}
// Verifica se os dígitos conferem
if (digito[10]==valor1 && digito[11]==valor2) {
// O CPF é válido
alert("O CPF informado é válido !")
}else{
// O CPF não é válido
alert("O CPF informado não é válido")
}
}
}
</script>
<title> </title>
</head>
<body>
<form name="form">
<input type="text" name="cpf" />
<input onclick="Valida()" type="button" value="Executar">
</form>
</body>
</html>
Pergunta
Jonathan Queiroz
Um membro havia postado uma dúvida com um verificador de CPF e eu resolvi criar um script para que possam utilizar em suas aplicações
Código:
<html> <head> <script type="text/javascript"> var cpf; var digito = new Array(11); var digito2 = new Array(11); var total_numero_d10 = 0 var total_numero_d11 = 0 var valor1; var valor2; function Valida() { cpf = document.form.cpf.value.toString() //Retira os pontos (".") e traços ("-") do CPF cpf = cpf.replace(".","") cpf = cpf.replace(".","") cpf = cpf.replace(".","") cpf = cpf.replace("-","") if (cpf=="") { //O usuário deixou o campo em banco alert("Digite um C.P.F para validar") }else if (cpf.length!=11) { // O cpf informado não possui 11 dígitos alert("O CPF digitado é inválido !\nNão possui 11 dígitos") }else if (isNaN(cpf)) { alert("O CPF informado não é um número válido") }else{ /* Nessa parte iremos fazer a verificação completa do CPF */ // Atribui valor às posições 10 e 11 do array (dígitos verificadores) digito[10] = cpf.charAt(9) digito[11] = cpf.charAt(10) // Faz uma array com os números de 10 a 2 for (i=11;i>=2;i--) { digito2[i] = i } // Verifica os dígitos informados no CPF for (i=1;i<=9;i++) { digito[i] = cpf.charAt(i-1) total_numero_d10 += parseInt(digito[i])*parseInt(digito2[11-i]) } valor1 = total_numero_d10 % 11 if (valor1<2) { valor1 = 0 }else{ valor1 = 11 - valor1 } for (i=1;i<=9;i++) { total_numero_d11 += parseInt(digito[i])*(11-i+1) } total_numero_d11 += valor1*2 valor2 = total_numero_d11 % 11 if (valor2<2) { valor2 = 0 }else { valor2 = 11 - valor2 } // Verifica se os dígitos conferem if (digito[10]==valor1 && digito[11]==valor2) { // O CPF é válido alert("O CPF informado é válido !") }else{ // O CPF não é válido alert("O CPF informado não é válido") } } } </script> <title> </title> </head> <body> <form name="form"> <input type="text" name="cpf" /> <input onclick="Valida()" type="button" value="Executar"> </form> </body> </html>Espero ter ajudado !!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.