您好,欢迎访问一九零五行业门户网

完整的JavaScript版的信用卡校验代码

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
其它类似信息

推荐信息