3 回答
TA贡献1830条经验 获得超3个赞
首先从字符串中删除所有,
和-
其他非数字。
然后使用与Visa,MasterCard,American Express,Diners Club,Discover和JCB卡匹配的正则表达式:
^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$
TA贡献1898条经验 获得超8个赞
常见的信用卡供应商正则表达式:
美国运通卡: ^3[47][0-9]{13}$
BCGlobal: ^(6541|6556)[0-9]{12}$
Carte Blanche卡: ^389[0-9]{11}$
大来卡: ^3(?:0[0-5]|[68][0-9])[0-9]{11}$
发现卡: ^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$
Insta付款卡: ^63[7-9][0-9]{13}$
JCB卡: ^(?:2131|1800|35\d{3})\d{11}$
KoreanLocalCard: ^9[0-9]{15}$
激光卡: ^(6304|6706|6709|6771)[0-9]{12,15}$
大师卡: ^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$
万事达: ^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$
独奏卡: ^(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15}$
切换卡: ^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$
银联卡: ^(62[0-9]{14,17})$
签证卡: ^4[0-9]{12}(?:[0-9]{3})?$
Visa主卡: ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})$
- 3 回答
- 0 关注
- 1341 浏览
添加回答
举报