Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] sprawdzanie poprawności NIP
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
kicaj
post
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Uzyj wyszukiwarki chociaz...

Na forum Gotowe rozwiazania jest fajna klasa autorstwa Cysiaczka
Go to the top of the page
+Quote Post
Maxik
post
Post #3





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


  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. ?>
Go to the top of the page
+Quote Post
cornholio666
post
Post #4





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
northwest
post
Post #5





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


$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??(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

ps. w javie sie nie da??(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował northwest 14.01.2008, 17:33:36
Go to the top of the page
+Quote Post
cornholio666
post
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


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. }


Ten post edytował cornholio666 14.01.2008, 17:46:30
Go to the top of the page
+Quote Post
bulimaxiu
post
Post #7





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

Ostrzeżenie: (0%)
-----


Dodałem linijkę
  1. <?php
  2. $nip = ereg_replace("[A-Za-z]", "", $nip);
  3. ?>
dla tych, którzy posiadają NIP wraz z symbolem kraju.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 16:07