Guest
Public paste!

tavares

By: a guest | Feb 4th, 2009 | Syntax: HTML | Size: 1.71 KB | Hits: 130 | Expires: Never
Copy text to clipboard
  1.  
  2. <script LANGUAGE="JavaScript">
  3. <!--
  4. function Verifica_CPF(formulario) {
  5. var CPF = formulario.CPF.value; // Recebe o valor digitado no campo
  6.  
  7. // Verifica se o campo é nulo
  8. if (CPF == '') {
  9.  alert('Este campo é de preenchimento obrigatório!');
  10.  return false;
  11.   }
  12.  
  13. // Aqui começa a checagem do CPF
  14. var POSICAO, I, SOMA, DV, DV_INFORMADO;
  15. var DIGITO = new Array(10);
  16. DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado
  17.  
  18. // Desemembra o número do CPF na array DIGITO
  19. for (I=0; I<=8; I++) {
  20.  DIGITO[I] = CPF.substr( I, 1);
  21. }
  22.  
  23. // Calcula o valor do 10º dígito da verificação
  24. POSICAO = 10;
  25. SOMA = 0;
  26.   for (I=0; I<=8; I++) {
  27.      SOMA = SOMA + DIGITO[I] * POSICAO;
  28.      POSICAO = POSICAO - 1;
  29.   }
  30. DIGITO[9] = SOMA % 11;
  31.   if (DIGITO[9] < 2) {
  32.        DIGITO[9] = 0;
  33. }
  34.   else{
  35.       DIGITO[9] = 11 - DIGITO[9];
  36. }
  37.  
  38. // Calcula o valor do 11º dígito da verificação
  39. POSICAO = 11;
  40. SOMA = 0;
  41.   for (I=0; I<=9; I++) {
  42.      SOMA = SOMA + DIGITO[I] * POSICAO;
  43.      POSICAO = POSICAO - 1;
  44.   }
  45. DIGITO[10] = SOMA % 11;
  46.   if (DIGITO[10] < 2) {
  47.        DIGITO[10] = 0;
  48.   }
  49.   else {
  50.        DIGITO[10] = 11 - DIGITO[10];
  51.   }
  52.  
  53. // Verifica se os valores dos dígitos verificadores conferem
  54. DV = DIGITO[9] * 10 + DIGITO[10];
  55.   if (DV != DV_INFORMADO) {
  56.      alert('CPF inválido');
  57.      formulario.CPF.value = '';
  58.      formulario.CPF.focus();
  59.      return false;
  60.   }
  61. }
  62. //-->
  63.  
  64. <form NAME="Formulario" onSubmit="return Verifica_CPF(this)">
  65. <tt><p>
  66. <small><font face="Verdana">CPF: <input TYPE="text" NAME="CPF" SIZE="15">
  67. <br><br>
  68. <input TYPE="submit" VALUE="Testar CPF"> </font></small></tt></p>
  69. </form>
  70.  
  71. </body>
  72. </html>