的信用卡验证用正则表达式?(Creditcard verification with regex?)

2019-08-16 16:35发布

什么是验证信用卡用正则表达式的正确方法? 如果使用哪一个有吨在线。 如果不是如何验证?

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?