Guest User

Untitled

a guest
Nov 18th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. <?php
  2.  
  3. /*
  4. function validadora de rut en base 11 chile|
  5.  
  6. ingresar con el formato 11.111.111-1 o 11111111-1
  7.  
  8.  
  9. use: validatedv(11.111.111-1);
  10.  
  11. return true if is corret, else return false;
  12.  
  13.  
  14. */
  15.  
  16.  
  17. function validadv($rut)
  18. {
  19. $rut = str_replace('.', '', $rut);
  20.  
  21. $rutarr = explode('-', $rut);
  22.  
  23. $digits = $rutarr[0];
  24. $dv = $rutarr[1];
  25.  
  26. $digitsarr = array_map('intval'str_split($digits));
  27. $digitsarr = array_reverse($digitsarr);
  28. if (sizeof($digitstarr) < 8 ) {
  29. $digitstarr[7] = 0;
  30. }
  31. $arrsum = array(
  32. $digitsarr[0] * 2,
  33. $digitsarr[1] * 3,
  34. $digitsarr[2] * 4,
  35. $digitsarr[3] * 5,
  36. $digitsarr[4] * 6,
  37. $digitsarr[5] * 7,
  38. $digitsarr[6] * 2,
  39. $digitsarr[7] * 3,
  40. );
  41.  
  42.  
  43. $sum = 0;
  44. foreach ($arrsum) {
  45. $sum = $sum + $value
  46. }
  47.  
  48. $div = $sum / 11;
  49.  
  50. $semitotal = (int)$div * 11;
  51.  
  52. $semitotal = $sum - $semitotal;
  53.  
  54. if ($semitotal == 11) {
  55. $validate = 0;
  56. }elseif ($semitotal == 10) {
  57. $validate = 'k'
  58. }
  59.  
  60.  
  61. if ($dv == $validate) {
  62. return true;
  63. } else {
  64. return false;
  65. }
  66. }
Add Comment
Please, Sign In to add comment