JS驗證銀行卡號的正確性

阿童木發表於2018-11-01


關於銀行卡號的驗證,翻了一下,大多都是使用的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為信用卡。

如有更好的方法,歡迎補充!



相關文章