JavaScript实现信用卡校验方法
本文实例讲述了JavaScript实现信用卡校验方法。分享给大家供大家参考。具体分析如下:
这里JavaScript版的信用卡校验代码,采用了Luhn算法
functionisValidCreditCard(type,ccnum){
if(type=="Visa"){
//Visa:length16,prefix4,dashesoptional.
varre=/^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
}elseif(type=="MC"){
//Mastercard:length16,prefix51-55,dashesoptional.
varre=/^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
}elseif(type=="Disc"){
//Discover:length16,prefix6011,dashesoptional.
varre=/^6011-?\d{4}-?\d{4}-?\d{4}$/;
}elseif(type=="AmEx"){
//AmericanExpress:length15,prefix34or37.
varre=/^3[4,7]\d{13}$/;
}elseif(type=="Diners"){
//Diners:length14,prefix30,36,or38.
varre=/^3[0,6,8]\d{12}$/;
}
if(!re.test(ccnum))returnfalse;
//Removealldashesforthechecksum
//checkstoeliminatenegativenumbers
ccnum=ccnum.split("-").join("");
//Checksum("Mod10")
//Addevendigitsinevenlengthstrings
//orodddigitsinoddlengthstrings.
varchecksum=0;
for(vari=(2-(ccnum.length%2));i<=ccnum.length;i+=2){
checksum+=parseInt(ccnum.charAt(i-1));
}
//Analyzeodddigitsinevenlengthstrings
//orevendigitsinoddlengthstrings.
for(vari=(ccnum.length%2)+1;i<ccnum.length;i+=2){
vardigit=parseInt(ccnum.charAt(i-1))*2;
if(digit<10){checksum+=digit;}
else{checksum+=(digit-9);}
}
if((checksum%10)==0)returntrue;elsereturnfalse;
}
希望本文所述对大家的javascript程序设计有所帮助。
热门推荐
5 天仓节祝福语简短
10 狗年祝福语简短的英语
11 升职祝福语简短霸气押韵
12 运动文案祝福语简短霸气
13 朋友之间祝福语大全简短
14 简短深沉的生日祝福语
15 初四祝福语简短霸气
16 写给高考的祝福语简短
17 中秋送礼的祝福语简短
18 写信古语祝福语简短精辟