Advertisement
Claudio51

Gerando CPF válido com dígito verificador escolhido

Jul 4th, 2019
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.37 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>gerando cpfs com verificadores escolhidos</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  6. <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
  7. <meta name="referrer" content="default" id="meta_referrer" />
  8. <style>
  9. body{
  10. font-family: Arial, Helvetica, sans-serif;
  11. background-color:#F2F5A9;
  12. font-size:1em;
  13. }
  14. .div{
  15. position:absolute;
  16. background-color:#F7BE81;
  17. width:90%;
  18. margin:20px;
  19. padding:10px 20px 20px 20px;
  20. border:1px solid #ccc;
  21.  
  22. }
  23. .button, .text{
  24. padding:10px;
  25. text-align:center;
  26. }
  27. .text{
  28. width:100px;
  29. }
  30. input[type="radio"] {
  31. -webkit-appearance: checkbox; /* Chrome, Safari, Opera */
  32. -moz-appearance: checkbox; /* Firefox */
  33. -ms-appearance: checkbox; /* not currently supported */
  34. transform:scale(1.5);
  35. cursor:pointer;
  36. }
  37. label{
  38. cursor:pointer;
  39. }
  40. input[type="submit"] {
  41. cursor:pointer;
  42. {
  43. @media screen and (max-width: 480px){
  44. .div{
  45. width:78%;
  46. margin:10px;
  47. }
  48. }
  49. </style>
  50. </head>
  51. <body>
  52. <h3><center>Gera lista de CPFs com dígitos verificadores escolhidos</center></h3>
  53. <center>
  54. <form ation="index.php"method="post">
  55. Digitos : <input type="text" name="ver1" id="ver1" maxlength="2" style="padding:10px;width:20px" onkeypress='return event.charCode >= 48 && event.charCode <= 57' />
  56. Contagem : <input type="text" name="total" id="total" maxlength="4" style="padding:10px;width:30px" onkeypress='return event.charCode >= 48 && event.charCode <= 57' />
  57. Quantidade : <input type="text" name="quantidade" id="quantidade" maxlength="4" style="padding:10px;width:30px" onkeypress='return event.charCode >= 48 && event.charCode <= 57' />
  58.  
  59. <input type="submit" class="button" value="Gerar">
  60. <label for="sim">Com pontuação</label>
  61. <input type="radio" name="pontuacaoCpf" id="sim"  value="sim"  >
  62. <label for="nao">Sem pontuação</label>  
  63. <input type="radio" name="pontuacaoCpf" id="nao"  value="nao"  >
  64.  
  65. </form>
  66. </center>
  67. <div class="div">
  68.  
  69. <?php
  70. session_start();
  71. $tot = 1;
  72.  
  73. if(empty($_SESSION['pontuacao'])){$_SESSION['pontuacao']='sim';}
  74. if(empty($_SESSION['quantidade'])){$_SESSION['quantidade']=10;}
  75. if(empty($_SESSION['total'])){$_SESSION['total']=1000;}
  76. if(empty($_SESSION['codigo_estado_cpf'])){$_SESSION['codigo_estado_cpf']=0;}
  77. if(empty($_SESSION['codigo_estado_cpf2'])){$_SESSION['codigo_estado_cpf2']=0;}
  78.  
  79. if(isset($_POST['pontuacaoCpf'])AND($_POST['pontuacaoCpf']<>'')){
  80. $_SESSION['pontuacao']= $_POST['pontuacaoCpf'];
  81. }
  82.  
  83. $pontuacao = $_SESSION['pontuacao'];
  84.  
  85. if(isset($_POST['quantidade'])AND($_POST['quantidade']<>'')){
  86. $_SESSION['quantidade'] = $_POST['quantidade'];
  87. }
  88. $quantidade = $_SESSION['quantidade'];
  89.  
  90. if((isset($_POST['ver1'])AND($_POST['ver1']<>''))){
  91. $pega_dig_ver = $_POST['ver1'];
  92. $_SESSION['codigo_estado_cpf'] = substr("$pega_dig_ver", -2,1);
  93. $_SESSION['codigo_estado_cpf2'] = substr("$pega_dig_ver", -1,1);
  94. }
  95.  
  96. $codigo_estado_cpf = $_SESSION['codigo_estado_cpf'];
  97. $codigo_estado_cpf2 = $_SESSION['codigo_estado_cpf2'];
  98.  
  99. if((isset($_POST['total'])AND($_POST['total']<>''))){
  100. $_SESSION['total'] = $_POST['total'];
  101. }
  102. $total = $_SESSION['total'];
  103.  
  104. echo "Digito Verificador : ".$codigo_estado_cpf.$codigo_estado_cpf2.'<br>';
  105. echo "Máximo de CPFs que pode ser gerado : ".$total.'<br>';
  106. echo "Quantidade  de CPFs solicitado : ".$quantidade.'<br>';
  107. echo "Pontuação : ".$pontuacao.'<br><hr>';
  108.  
  109. $dig1=$codigo_estado_cpf;
  110. $dig2=$codigo_estado_cpf2;
  111. for($dd=1;$dd<$total;$dd++){
  112. $num = array();
  113. $num[9]=$num[10]=$num[11]=0;
  114. for ($w=0; $w > -2; $w--){
  115. for($i=$w; $i < 9; $i++){
  116. $x=($i-10)*-1;
  117. $w==0?$num[$i]=rand(0,9):'';
  118. // echo ($w==0?$num[$i]:'');
  119. ($w==-1 && $i==$w && $num[11]==0)?
  120. $num[11]+=$num[10]*2 :
  121. $num[10-$w]+=$num[$i-$w]*$x;
  122. }
  123. $num[10-$w]=(($num[10-$w]%11)<2?0:(11-($num[10-$w]%11)));
  124. // echo $num[10-$w].'<br>';
  125. }
  126. if(($num[10]==$dig1)AND($num[11]==$dig2)){
  127. // echo $tot." - CPF : ".$num[0].$num[1].$num[2].$num[3].$num[4].$num[5].$num[6].$num[7].$num[8].$num[10].$num[11].'<br>';
  128.  
  129. echo'<table width=100% >
  130.         <tr>
  131.             <td width=6% >';
  132.                 echo $tot." - CPF
  133.             </td>
  134.             <td width=10% >";
  135.                 if($pontuacao=="sim"){
  136.                     echo $num[0].$num[1].$num[2].'.'.$num[3].$num[4].$num[5].'.'.$num[6].$num[7].$num[8].'-'.$num[10].$num[11];
  137.                 }else{
  138.                     echo $num[0].$num[1].$num[2].$num[3].$num[4].$num[5].$num[6].$num[7].$num[8].$num[10].$num[11];
  139.                 };
  140.        echo'</td>
  141.             <td>';
  142.                     if($num[8]==0){echo" Rio Grande do Sul";};
  143.                     if($num[8]==1){echo" Distrito Federeal, Goiás, Mato Grosso do Sul e Tocantins";};
  144.                     if($num[8]==2){echo" Pará, Amazonas, Acre, Amapá, Rondônia e Roraima";};
  145.                     if($num[8]==3){echo" Ceará, Maranhão e Piauí";};
  146.                     if($num[8]==4){echo" Pernambuco, Rio Grande do Norte, Paraíba e Alagoas";};
  147.                     if($num[8]==5){echo" Bahia e Sergipe";};
  148.                     if($num[8]==6){echo" Minas Gerais";};
  149.                     if($num[8]==7){echo" Rio de Janeiro e Espírito Santo";};
  150.                     if($num[8]==8){echo" São Paulo";};
  151.                     if($num[8]==9){echo" Paraná e Santa Catarina";};
  152.         echo'</td>
  153.         </tr>
  154.     </table>';
  155. $tot ++;
  156. if($tot ==$quantidade+1){echo'<hr>'."Gerou ".$dd. " CPFs e parou.";exit;};
  157. }
  158. //echo'<br>';
  159. // echo '<br>'.$num[0].$num[1].$num[2].'.'.$num[3].$num[4].$num[5].'.'.$num[6].$num[7].$num[8].'-'.$num[10].$num[11].'<br>';//Colocando separadores
  160. }
  161. //echo '<hr>'. ($tot-1).' - '.$dd;
  162. echo'<hr>'."Gerou ".$dd." CPFs.";
  163. //}
  164. unset($_POST['quantidade']);// reseta a quantidade
  165. ?>
  166. </div>
  167. </body>
  168. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement