Kullanıcı, Gönder düğmesine basmadan önce kredi kartlarının kontrol basamaklarını doğrulamak için bir kütüphane veya JavaScript pasajına sahip midir?Kredi kartlarının istemci tarafında doğrulanması
cevap
jQuery Validation Plugin kredi kartı numaraları doğrulamak için bir method sahiptir.
Çoğu Luhn algorithm kullanın:
diğer özel komut vardır.
zaten jQuery eklentisi kullanarak etmiyorsanız bu fonksiyonu kullanabilirsiniz. Bu Luhn algoritmasına dayanır ve boşluk veya çizgi toleranslıdır, bu yüzden ihtiyacınız olacak çoğu veri girişi için çalışmalıdır.
http://af-design.com/blog/2010/08/18/validating-credit-card-numbers/
Muhtemelen OP bile artık bu konuyu takip etmiyor ama bu başkası için faydalı olabilir:
http://jquerycreditcardvalidator.com
Bu kart türünü denetler, mod için uzunluğunu ve kontrolleri doğrular Luhn algoritması ile 10.
Sen Luhn algorithm ile 16 basamaklı kartı numaralarını doğrulamak için bu pasajı kullanabilirsiniz:
function validateCardNumber(number) {
var regex = new RegExp("^[0-9]{16}$");
if (!regex.test(number))
return false;
return luhnCheck(number);
}
function luhnCheck(val) {
var sum = 0;
for (var i = 0; i < val.length; i++) {
var intVal = parseInt(val.substr(i, 1));
if (i % 2 == 0) {
intVal *= 2;
if (intVal > 9) {
intVal = 1 + (intVal % 10);
}
}
sum += intVal;
}
return (sum % 10) == 0;
}
Luhn formula kredi kartı doğrulama en popüler algoritmadır. Ve bir kütüphane aradığınız algorithm
kelimesinden çok korkma. Anlaması inanılmaz derecede kolay. Ara tariften, bu algoritma 3 adımda bölme olabilir: Kontrol basamağı, sol eğilimi olan en sağdaki rakam, kaynaktan
- , her ikinci basamak çift değeri; Bu katlama işleminin ürünü daha büyük 9 ise, (örneğin, 8 x 2 = 16), daha sonra ürün basamak veren (örneğin, 16: 1 + = 7 6, 18: 1 ile + 8 = 9).
- Tüm basamakların toplamını toplayın. Toplam modülo 10 0'a eşitse (toplam uç sıfırda ise), bu sayı Luhn formülüne göre geçerlidir; başka geçerli değil.
İşte benim çalışma taslağım. (Aynı zamanda Luhn formula olarak da bilinir)
function luhn(anum){
anum = anum+'';
var sum = 0,
max = anum.length - 1;
//From the rightmost digit, which is the check digit, moving left
for(var j=max;j>=0;j--){
var digit = parseInt(anum[j]);
//Take the sum of all the digits
if((max - j) & 1){
//double the value of every second digit
var add = digit * 2;
//if the product of this doubling operation is greater than 9 ,
//then sum the digits of the products
sum += add < 10 ? add : 1 + add % 10;
}else{
sum += digit;
}
}
//If the total modulo 10 is equal to 0 (if the total ends in zero)
//then the number is valid according to the Luhn formula;else it is not valid.
return sum % 10 === 0;
}
luhn(79927398713) -> true
Luhn algoritması kimlik numaralarının (örneğin kredi kartı numaraları, IMEI) çeşitli doğrulamak için yararlıdır.Zaten başkaları tarafından maruz kalmış çünkü
Ben algoritmanın açıklamaları tekrarlamamak ama en hızlı JavaScript uygulamasıgerekiyorsa, bunu here görebilirsiniz.
kaynak bağlantılıfunction luhn(array) {
return function (number) {
let len = number ? number.length : 0,
bit = 1,
sum = 0;
while (len--) {
sum += !(bit ^= 1) ? parseInt(number[len], 10) : array[number[len]];
}
return sum % 10 === 0 && sum > 0;
};
}([0, 2, 4, 6, 8, 1, 3, 5, 7, 9]);
Not (ayrıca JavaScript 2015 olarak da bilinir) ES6 dilde ... Basitçe, ama transpiled edilir ES5 (index.js bakınız) ve tam birimdir test etti.
Bundan başka kullanışlı hem tarayıcılar ve/veya node.js içinde.
Yüksek performanslarını doğrulamak için benchmark ve diğer uygulamalar jsperf numaralı telefondan alınmıştır.
Şimdi, yalnızca kullanmak istiyorsanız, bağlı repository kodundan alın.
Yoksa ... bower aracılığıyla yüklemek
bower install luhn-alg
Ya npm aracılığıyla
...npm install luhn-alg
Yasal Uyarı: Ben luhn-alg
paketin yazarıyım.
- 1. - istemci tarafında
- 2. İstemci tarafında npm paketini kullanın
- 3. GWT Base64, resim istemci tarafında
- 4. İstemci tarafında neden 'sessionid' alamıyorum?
- 5. nasıl JavaScript tarafından manipülasyon için istemci tarafında üzerine ben sunucu tarafında yarattık dizisi geçmesi nasıl istemci tarafında
- 6. Bir WCF hizmetinin doğrulanması
- 7. Solr istemci tarafında "Bağlantı Sıfırlama" gerçekleşiyor
- 8. İstemci tarafında dosya açılamadı, sunucu tarafı çalıştı.
- 9. İstemci tarafında sunucuyla olay gönderildi GWT
- 10. İstemci Tarafında MongoDB'yi JavaScript ile Kullanma
- 11. UTL_FILE sunucu tarafı kullanımı/istemci tarafında kullanımı
- 12. HTTP istek yönteminin istemci tarafında algılanması
- 13. tepki istemci tarafında oluşturma hatası alınamıyor/
- 14. Gwt kullanarak istemci tarafında dosyaya aktarma
- 15. İstemci tarafında oturum açtıktan sonra sunucu tarafında G + kullanıcılarının kimliğini doğrulamak
- 16. ajax çağrısının istemci tarafında birden fazla dizinin nasıl işleneceği
- 17. İstemci Tarafında Web Uygulaması İçin Parmak İzi Taraması Uygulaması
- 18. Yüklemeden önce istemci tarafında dosya sisteminden seçilen görüntüyü görüntüleyin.
- 19. İstemci tarafında e-posta oluşturmak için JavaScript kullanabilir miyim?
- 20. İstemci tarafında sunucu tarafındaki mongo'ya bağlantı beklemeye nasıl hazırdır?
- 21. bir ASP.NET HTTP işleyicisi sunucu ve istemci tarafında
- 22. İstemci tarafında web uygulamalarında GPG (PGP) şifre çözme
- 23. Bu mümkün mü? Ffmpeg-asm.js tarafından istemci tarafında.
- 24. İstemci tarafında javascript için Visual Studio proje türü
- 25. İstemci tarafında sunucu iletişimi için web soketi kullanmak istiyorum.
- 26. düğüm Express'in bodyParser ben istemci tarafında bir GET isteği ajax
- 27. İstemci tarafında (express/node.js) PostgreSQL (pg) kullanabilir miyim?
- 28. @ Html.ValidationSummary MVC3 veya MVC4 istemci tarafında doğrulama için çalışıyor mu?
- 29. İstemci tarafında uzun bir değerin yuvarlanması nasıl önlenir?
- 30. Sunucu tarafındaki GAE kimliği doğrulanmış kullanıcı değil, istemci tarafında
Neden kredi kartı bilgilerini doğrulamak için javascript kullanmak istersiniz? –
@ gabriel1836, kredi kartı basamaklarının kabul edilebilir basamak kümesinde olup olmadığını bilmenizi sağlayan bir algoritma var. % 100 onay değil, neredeyse tüm rastgele hataları göz ardı ediyorsun. – torial
luhn-10 algoritması denir. – mdec