Próbuję sprawdzić numery kart kredytowych za pomocą jQuery, ale nie chcę używać wtyczki sprawdzania poprawności, czy jest tam jakaś inna wtyczka do tego?Walidacja kart kredytowych z Jquery
Odpowiedz
http://en.wikipedia.org/wiki/Luhn_algorithm
Można zminimalizować to poniżej w bardzo małej powierzchni w kodzie.
function isCreditCard(CC)
{
if (CC.length > 19)
return (false);
sum = 0; mul = 1; l = CC.length;
for (i = 0; i < l; i++)
{
digit = CC.substring(l-i-1,l-i);
tproduct = parseInt(digit ,10)*mul;
if (tproduct >= 10)
sum += (tproduct % 10) + 1;
else
sum += tproduct;
if (mul == 1)
mul++;
else
mul--;
}
if ((sum % 10) == 0)
return (true);
else
return (false);
}
+1 - Luhn byłby jedynym sposobem na "potwierdzenie" go po stronie klienta. –
Kontrola Luhna jest użyteczna tylko przy wykrywaniu błędów transpozycji. Należy również sprawdzić, czy zakres identyfikacji wydawcy (pierwsze sześć cyfr numeru karty) jest ważny. – PaulG
Jeśli chcesz mieć pewność, że jest to ważny numer karty, musisz sprawdzić znacznie więcej niż cyfrę Luhna.
Luhna cyfrowy przeznaczony jest tylko do sprawdzania błędów transpozycji i może być łatwo sfałszowane z numerami takimi jak 22222222222222222
Pierwsze sześć cyfr numeru karty powinna zostać sprawdzona. Cyfry te są znane jako numer identyfikacyjny wystawcy i mogą być używane w celu zapewnienia, że liczba znajduje się w uznanym zakresie. Niestety będziesz miał trudności ze znalezieniem wyczerpującej listy numerów IIN, nie tylko dlatego, że emitenci nieustannie dodają i usuwają zakresy. Wikipedia ma jednak bardzo podstawowy przegląd: Bank card number
Jeśli możesz określić typ karty z IIN, możesz następnie wykonać dźgnięcie potwierdzające długość tej liczby.
Jeśli nie masz bardzo dobrego powodu, znacznie łatwiej jest użyć czegoś takiego jak wtyczka sprawdzania poprawności.
polecam użyć Wyrażenie regularne ... Można sprawdzić moje repozytorium Mam fragment kodu do sprawdzenia poprawności Visa, Master Card, odkrycie, American Express i kodu zabezpieczającego
https://github.com/leojavier/RegexCollection
Pamiętaj ... tylko dlatego, że ograniczenie ilości cyfr, nie oznacza to będzie w porządku.
na przykład:
- Wszystkie numery kart Visa zaczynają się od 4. Nowe karty mają 16 cyfr.
- Wszystkie numery kart MasterCard rozpoczynają się cyframi od 51 do 55. Wszystkie mają 16 cyfr. i tak dalej ...
Index.html jest próbką, aby pokazać, jak z niego korzystać! Jeśli masz jakieś pytania, napisz do mnie:
- 1. Wyrażenie regularne dla danych z kart kredytowych
- 2. po stronie klienta walidacji kart kredytowych
- 3. Systemy kart kredytowych oparte na tokenach kontra tradycyjna brama
- 4. Przetwarzanie kart kredytowych bez usługi Google Checkout/Amazon/Paypal
- 5. Detaliczne przetwarzanie kart kredytowych - obecna karta. Minimalizowanie wymagań zgodności PCI
- 6. Problem z odkładaniem kart jQuery
- 7. Niestandardowa walidacja jQuery .addMethod
- 8. Stylizowanie kart Jquery-ui
- 9. walidacja jQuery: liczba kontra cyfry
- 10. jQuery Walidacja Plugin - Walidacja pola ukrytego przez Nazwa
- 11. jQuery Walidacja, ale dopiero po wstępnym poddaniu
- 12. jQuery Walidacja metody rozszerzenie nie pracuje
- 13. jQuery Walidacja wielu selektorów do ignorowania
- 14. Grupowanie błędów w jQuery Dyskretna walidacja
- 15. Walidacja formularza za pomocą Bootstrap (jQuery)
- 16. Tworzenie przycisku Next do przełączania kart jQuery
- 17. Jquery Pusta walidacja dla pola tekstowego
- 18. Walidacja warunkowa przy użyciu wtyczki walidacyjnej JQuery
- 19. Co to jest jQuery dyskretna walidacja?
- 20. jak wyświetlić "ładowanie" zanim załaduje się zawartość z kart jQuery
- 21. Sprawdzanie poprawności jQuery Walidacja z dodaniem braku sprawdzania poprawności przestrzeni
- 22. Szyny kart z suwakiem Bootstrap
- 23. Testy kart płatniczych PayPal numer karty kredytowej
- 24. Używanie kart jQuery UI. Jak utworzyć jedną z kart linku do adresu URL, zamiast ładować panel z zakładkami?
- 25. Tworzenie kart z notatnikiem Mathematica
- 26. Walidacja dat z walidatorem ASP.NET
- 27. laravel 5.4 - Walidacja z Regex
- 28. Walidacja i test z TensorFlow
- 29. Form Walidacja wejścia z Meteorem
- 30. Walidacja xmlserializer
Co jest nie tak z wtyczką do sprawdzania poprawności? – Bartek
Tak? Fakt, że Google tak naprawdę nie zwraca niczego oczywistego, a nie wtyczki do sprawdzania poprawności, jest wystarczająco dobry, podpowiedź – Bostone