【发布时间】:2021-11-18 13:54:53
【问题描述】:
我应该允许 2 种不同的输入字符串格式,每种格式都有自己的验证。 比如:
AA2222222222222222
和
2222222222222222
这意味着如果第一个字符是字母,我应该验证 ^[a-zA-Z]{2}\d{16}$。如果第一个字符是数字,我应该验证 d{16}。
我尝试用条件正则表达式编写它:
^(([a-zA-Z])(?([a-zA-Z])^[a-zA-Z]{2}\d{16}$|d{16})
但我得到一个模式错误,无法弄清楚到底是什么问题。
任何见解都会被欣赏
【问题讨论】:
-
您可以将单个模式
^(?:[A-Z][A-Z])?\d{16}$与可选组一起使用。 Javascript 不支持条件语法。 -
@T.J.Crowder 我的意思是这个语法regular-expressions.info/conditional.html
标签: javascript regex