JavaScript實(shí)現(xiàn)信用卡校驗(yàn)方法
本文實(shí)例講述了JavaScript實(shí)現(xiàn)信用卡校驗(yàn)方法。分享給大家供大家參考。具體分析如下:
這里JavaScript版的信用卡校驗(yàn)代碼,采用了Luhn算法
function isValidCreditCard(type, ccnum) { if (type == "Visa") { // Visa: length 16, prefix 4, dashes optional. var re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/; } else if (type == "MC") { // Mastercard: length 16, prefix 51-55, dashes optional. var re = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/; } else if (type == "Disc") { // Discover: length 16, prefix 6011, dashes optional. var re = /^6011-?\d{4}-?\d{4}-?\d{4}$/; } else if (type == "AmEx") { // American Express: length 15, prefix 34 or 37. var re = /^3[4,7]\d{13}$/; } else if (type == "Diners") { // Diners: length 14, prefix 30, 36, or 38. var re = /^3[0,6,8]\d{12}$/; } if (!re.test(ccnum)) return false; // Remove all dashes for the checksum //checks to eliminate negative numbers ccnum = ccnum.split("-").join(""); // Checksum ("Mod 10") // Add even digits in even length strings //or odd digits in odd length strings. var checksum = 0; for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) { checksum += parseInt(ccnum.charAt(i-1)); } // Analyze odd digits in even length strings //or even digits in odd length strings. for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) { var digit = parseInt(ccnum.charAt(i-1)) * 2; if (digit < 10) { checksum += digit; } else { checksum += (digit-9); } } if ((checksum % 10) == 0) return true; else return false; }
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
- C++計(jì)算ICMP頭的校驗(yàn)和實(shí)例
- python和shell實(shí)現(xiàn)的校驗(yàn)IP地址合法性腳本分享
- 微信公眾平臺(tái)消息接口校驗(yàn)與消息接口響應(yīng)實(shí)例
- 零基礎(chǔ)學(xué)習(xí)AJAX之制作自動(dòng)校驗(yàn)的表單
- Symfony數(shù)據(jù)校驗(yàn)方法實(shí)例分析
- php校驗(yàn)表單檢測(cè)字段是否為空的方法
- Codeigniter校驗(yàn)ip地址的方法
- PHP實(shí)現(xiàn)通過(guò)Luhn算法校驗(yàn)信用卡卡號(hào)是否有效
- 詳細(xì)介紹C#之文件校驗(yàn)工具的開(kāi)發(fā)及問(wèn)題
相關(guān)文章
Js(JavaScript)中,彈出是或否的選擇框示例(confirm用法的實(shí)例分析)
以下是對(duì)confirm的用法進(jìn)行了分析介紹,需要的朋友可以參考下2013-07-07javascript中with()方法的語(yǔ)法格式及使用
有了 With 語(yǔ)句,在存取對(duì)象屬性和方法時(shí)就不用重復(fù)指定參考對(duì)象,下面為大家介紹下With 語(yǔ)句的語(yǔ)法格式及使用2014-08-08解決layui中table異步數(shù)據(jù)請(qǐng)求不支持自定義返回?cái)?shù)據(jù)格式的問(wèn)題
今天小編就為大家分享一篇解決layui中table異步數(shù)據(jù)請(qǐng)求不支持自定義返回?cái)?shù)據(jù)格式的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08一文詳解如何用原型鏈的方式實(shí)現(xiàn)JS繼承
JavaScript中,每當(dāng)創(chuàng)建一個(gè)對(duì)象,都會(huì)給這個(gè)對(duì)象提供一個(gè)內(nèi)置對(duì)象 [[Prototype]] 。這個(gè)對(duì)象就是原型對(duì)象,[[Prototype]] 的層層嵌套就形成了原型鏈。本文將詳細(xì)講解如何用原型鏈的方式實(shí)現(xiàn)一個(gè) JS 繼承,感興趣的可以了解下2022-04-04JS實(shí)現(xiàn)全屏預(yù)覽F11功能的示例代碼
這篇文章主要介紹了JS實(shí)現(xiàn)全屏預(yù)覽F11功能的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07javascript驗(yàn)證內(nèi)容為數(shù)字以及長(zhǎng)度為10的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇javascript驗(yàn)證內(nèi)容為數(shù)字以及長(zhǎng)度為10的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08Javascript實(shí)現(xiàn)滑塊滑動(dòng)改變值的實(shí)現(xiàn)代碼
一個(gè)關(guān)于稅務(wù)的功能,值得一說(shuō)的是本頁(yè)面的滑塊實(shí)現(xiàn)由于對(duì)美工不是很熟悉所以上圖了,感興趣的朋友可以了解下哈2013-04-04