JS验证银行卡号的正确性

1,678 阅读1分钟


关于银行卡号的验证,翻了一下,大多都是使用的luhn算法,对于一些地方性银行可能不太适用,或者说像我们这次,还需要验证是否是借记卡。


最后只能验证银行卡号Bin号的合法性,这里使用阿里提供的验证Bin号的免费接口:

https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardBinCheck=true

代码如下:


var bank = /^\d+$/;
if (!bank.test(bankCode) || bankCode == "") {//bankCode为银行卡号
		alert("请输入正确的银行卡号");
		return false;
	}else{
		$.ajax({
			dataType:'json',
			type:'get',
			url:'https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardBinCheck=true',
			data:{cardNo:bankCode},
			success:function(data){
				if(data.validated == false){
					alert("请输入正确的银行卡号");
					return false;
				}else if(data.validated == true){
					if(data.cardType == 'DC'){
						return true;
					}else{
						alert("请输入储蓄卡卡号!");
                                                return false;
					}
				}
			}
		})
	}

这里说明一下,DC为借记卡,CC为信用卡。

如有更好的方法,欢迎补充!