Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] sprawdzanie poprawności NIP
Forum PHP.pl > Forum > Przedszkole
northwest
Witam,
czy wiecie może jak za pomocą PHP lub JavaScriptu sprawdzić poprawność wprowadzonego
w formularzu NIPu??


Z góry dzięki za pomoc,
pozdrawiam North
kicaj
Uzyj wyszukiwarki chociaz...

Na forum Gotowe rozwiazania jest fajna klasa autorstwa Cysiaczka
Maxik
  1. <?php
  2.  
  3. function check_nip($nip)
  4. {
  5.  // Sprawdzenie NIP [Robert Kuśmierz dla CoreEditor]
  6.  // URL: <a href=\"http://www.coreeditor.pl\" target=\"_blank\">http://www.coreeditor.pl</a>
  7.  // Informacja: Do użytku w dowolnej aplikacji, pod warunkiem tego, iż skrypt nie z
    ostanie zmodyfikowany
  8.  
  9.  $steps = array(6, 5, 7, 2, 3, 4, 5, 6, 7);
  10.  $nip = str_replace('-', '', $nip);
  11.  $nip = str_replace(' ', '', $nip);
  12.  if (strlen($nip) != 10) { RETURN false; }
  13.  for ($x = 0; $x < 9; $x++) $sum_nb += $steps[$x] * $nip[$x];
  14.  if ($sum_nb % 11 == $nip[9]) { RETURN true; }
  15.  else { RETURN false; }
  16. }
  17.  
  18. ?>
cornholio666
Dorzuce cos od siebie:

  1. <?php
  2. function SprawdzNIP($str){
  3.  
  4. if (strlen($str) != 10){
  5. return false;
  6. }
  7.  
  8. $arrSteps = array(6, 5, 7, 2, 3, 4, 5, 6, 7);
  9. $intSum=0;
  10.  
  11. for ($i = 0; $i < 9; $i++){
  12. $intSum += $arrSteps[$i] * $str[$i];
  13. }
  14. $int = $intSum % 11;
  15.  
  16. $intControlNr=($int == 10)?0:$int;
  17. if ($intControlNr == $str[9]){
  18. return true;
  19. }
  20. return false;
  21. }
  22. ?>
northwest
$str ="124-33424234234-123-43432";
  1. <?php
  2. function SprawdzNIP($str){
  3.  
  4. if (strlen($str) != 10){
  5. return false;
  6. }
  7.  
  8. $arrSteps = array(6, 5, 7, 2, 3, 4, 5, 6, 7);
  9. $intSum=0;
  10.  
  11. for ($i = 0; $i < 9; $i++){
  12. $intSum += $arrSteps[$i] * $str[$i];
  13. }
  14. $int = $intSum % 11;
  15.  
  16. $intControlNr=($int == 10)?0:$int;
  17. if ($intControlNr == $str[9]){
  18. return true;
  19. }
  20. return false;
  21. }
  22. SprawdzNIP($str);
  23. if (SprawdzNIP==true)
  24. {
  25. echo"ok!!!";
  26. }
  27. if(SprawdzNIP==false)
  28. {
  29. echo"zly!!!";
  30. }
  31. ?>

tak to się używa??winksmiley.jpg

ps. w javie sie nie da??winksmiley.jpg
cornholio666
podaj string bez "-" a czy tak sie tego uzywa to sprawdz. Podaj poprawny NIP i zobacz.
W JAVA sie da ale w ogole nie to forum mozesz sprobowac w JaviaScript:

  1. function SprawdzNIP(str){
  2.  
  3. if (str.length != 10){
  4. return false;
  5. }
  6.  
  7. arrSteps = new Array(6, 5, 7, 2, 3, 4, 5, 6, 7);
  8. intSum=0;
  9.  
  10. for (i = 0; i < 9; i++){
  11.  
  12. intSum += arrSteps[i] * str.charAt(i);
  13.  
  14. }
  15.  
  16. int = intSum % 11;
  17. if(int == 10){
  18. intControlNr = 0;
  19. }else{
  20. intControlNr = int;
  21. }
  22.  
  23. if (intControlNr == str.charAt(9)){
  24. return true;
  25. }
  26.  
  27. return false;
  28.  
  29. }
bulimaxiu
Dodałem linijkę
  1. <?php
  2. $nip = ereg_replace("[A-Za-z]", "", $nip);
  3. ?>
dla tych, którzy posiadają NIP wraz z symbolem kraju.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.