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)通過Luhn算法校驗(yàn)信用卡卡號(hào)是否有效
- 詳細(xì)介紹C#之文件校驗(yàn)工具的開發(fā)及問題
相關(guān)文章
javascript 實(shí)現(xiàn)頁(yè)面加載進(jìn)度條代碼
javascript 實(shí)現(xiàn)頁(yè)面加載進(jìn)度條代碼,需要的朋友可以參考下。2010-04-04
JS字符串統(tǒng)計(jì)操作示例【遍歷,截取,輸出,計(jì)算】
這篇文章主要介紹了JS字符串統(tǒng)計(jì)操作,結(jié)合實(shí)例形式分析了javascript字符串的遍歷,截取,輸出,計(jì)算等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-03-03
中國(guó)地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單效果分析
主要的數(shù)據(jù)和功能實(shí)現(xiàn)都是在js文件中,網(wǎng)上找的地區(qū)數(shù)據(jù)有的地方不完整,需要自己添加,本文將詳細(xì)介紹2012-11-11
回車直接實(shí)現(xiàn)點(diǎn)擊某按鈕的效果即觸發(fā)單擊事件
這篇文章主要介紹了回車直接實(shí)現(xiàn)點(diǎn)擊某按鈕的效果即觸發(fā)單擊事件,需要的朋友可以參考下2014-02-02
JS判斷form內(nèi)所有表單是否為空的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇JS判斷form內(nèi)所有表單是否為空的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-09-09
JavaScript使用setTimeout實(shí)現(xiàn)延遲彈出警告框的方法
這篇文章主要介紹了JavaScript使用setTimeout實(shí)現(xiàn)延遲彈出警告框的方法,實(shí)例分析了javascript中setTimeout函數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04

