什么是验证信用卡用正则表达式的正确方法? 如果使用哪一个有吨在线。 如果不是如何验证?
Answer 1:
我如何使用包含空格的信用卡号码? 涵盖了你应该需要的一切。
Answer 2:
请参阅此链接查找或验证信用卡号码与正规表达式
- 签证:^ 4 [0-9] {12}(?:[0-9] {3})$所有的Visa卡号码先从4.新卡有16位? 老卡有13个。
- 万事达:^ 5 [1-5] [0-9] {14} $所有万事达号码与数字开始51至55的所有有16位数字。
- 美国运通:^ 3 [47] [0-9] {13} $美国运通卡号码开始34或37,并有15个数字。
- 大莱卡:^ 3(?:0 [0-5] | [68] [0-9])[0-9] {11} $大莱卡卡号与300开始通过305,36或38都设有14数字。 有迹象表明,以5开头,并且有16位以及Diners Club卡。 这些都是大莱卡和万事达的合资企业,而应该像万事达处理。
- 发现:^ 6(:011 | 5 [0-9] {2}?)[0-9] {12} $发现卡号以6011或65开头的所有具有16位数字。
- JCB:^(?:2131 | 1800 | 35 \ d {3})\ d {11}用2131或1800开头的$ JCB卡有15个数字。 35开始JCB卡有16位。
再见。
Answer 3:
我认为你正在寻找的卢恩算法 。 这是用来验证各种识别号码的一个简单的校验式。
Answer 4:
这取决于你想如何准确的预验证是。 为了验证一切你可以,你需要计算什么的卡的最后一位应该和比较被输入的内容,其中一个正则表达式不能做。
对于算法及其他详情,请参阅该链接 ,这也提供了常用号码前缀,你可以验证对列表。
Answer 5:
- 编辑:
逸岸,我会稍微对自己不同意与克莱同意。 验证不亚于您可以(不进入特定类型的信用卡[恕我直言]的详细信息)在发送之前。 而且不言而喻(希望),这验证应该在JavaScript中进行,使之快,然后在服务器上,仔细检查(和禁用JavaScript的人)。
- 之前的响应:
不要打扰; 只是让供应商验证,当你真正尝试付款。 没有正当理由,试图自行验证。 您可以使用此不过,如果你真的喜欢它的感觉。
文章来源: Creditcard verification with regex?