正则表达式信用卡

时间:2016-06-20 18:14:41

标签: regex

我需要一个正则表达式,它将屏蔽16位信用卡号码,但不会屏蔽UPS跟踪号码。 UPS跟踪号码以" 1Z"。

开头

我已经尝试了^(?!1Z)。+ [0-9] {16}

谢谢, 安德鲁

1 个答案:

答案 0 :(得分:2)

根据this tutorial

^(?:4[0-9]{12}(?:[0-9]{3})?          # Visa
 |  5[1-5][0-9]{14}                  # MasterCard
 |  3[47][0-9]{13}                   # American Express
 |  3(?:0[0-5]|[68][0-9])[0-9]{11}   # Diners Club
 |  6(?:011|5[0-9]{2})[0-9]{12}      # Discover
 |  (?:2131|1800|35\d{3})\d{11}      # JCB
)$

这将确保您的信用卡号有效。但是,如果您只想检查您的16位数字是否不是UPS追踪号码,则可以这样做:

\d{16}