我需要一个正则表达式,它将屏蔽16位信用卡号码,但不会屏蔽UPS跟踪号码。 UPS跟踪号码以" 1Z"。
开头我已经尝试了^(?!1Z)。+ [0-9] {16}
谢谢, 安德鲁
答案 0 :(得分:2)
^(?: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}