c语言信用卡号验证,Javascript验证Visa和MasterCard信用卡号的方法

本文实例讲述了Javascript验证Visa和MasterCard信用卡号的方法。分享给大家供大家参考。具体实现方法如下:

visa验证:

Visa Example

function luhnCheckSum(sCardNum) {

var iOddSum = 0;

var iEvenSum = 0;

var bIsOdd = true;

for (var i=sCardNum.length-1; i >= 0; i--) {

var iNum = parseInt(sCardNum.charAt(i));

if (bIsOdd) {

iOddSum += iNum;

} else {

iNum = iNum * 2;

if (iNum > 9) {

iNum = eval(iNum.toString().split("").join("+"));

}

iEvenSum += iNum;

}

bIsOdd = !bIsOdd;

}

return ((iEvenSum + iOddSum) % 10 == 0);

}

function isValidVisa(sText) {

var reVisa = /^(4\d{12}(?:\d{3})?)$/;

if (reVisa.test(sText)) {

return luhnCheckSum(RegExp.$1);

} else {

return false;

}

}

function validate() {

var oInput1 = document.getElementById("txt1");

if (isValidVisa(oInput1.value)) {

alert("Valid");

} else {

alert("Invalid!");

}

}

Visa Number:

MasterCard验证:

MasterCard Example

function luhnCheckSum(sCardNum) {

var iOddSum = 0;

var iEvenSum = 0;

var bIsOdd = true;

for (var i=sCardNum.length-1; i >= 0; i--) {

var iNum = parseInt(sCardNum.charAt(i));

if (bIsOdd) {

iOddSum += iNum;

} else {

iNum = iNum * 2;

if (iNum > 9) {

iNum = eval(iNum.toString().split("").join("+"));

}

iEvenSum += iNum;

}

bIsOdd = !bIsOdd;

}

return ((iEvenSum + iOddSum) % 10 == 0);

}

function isValidMasterCard(sText) {

var reMasterCard = /^(5[1-5]\d{2})[\s\-]?(\d{4})[\s\-]?(\d{4})[\s\-]?(\d{4})$/;

if (reMasterCard.test(sText)) {

var sCardNum = RegExp.$1 + RegExp.$2 + RegExp.$3 + RegExp.$4;

return luhnCheckSum(sCardNum);

} else {

return false;

}

}

function validate() {

var oInput1 = document.getElementById("txt1");

if (isValidMasterCard(oInput1.value)) {

alert("Valid");

} else {

alert("Invalid!");

}

}

MasterCard Number:

希望本文所述对大家的javascript程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值