我需要使用reg。 exp用于验证输入字段。 有效输入为:2个字符和5个数字或仅5个数字。
我已尝试过以下reg exp:
^([a-zA-Z]{2}.*[0-9]{5}|[0-9]{5})$
但这允许我输入ex。 :aaa12345
这个表达式似乎至少有2个字符(可选)和5个数字。我在哪里做错了?
编辑:订单总是2个字符(可选),然后是5个数字(例如aa12345)
答案 0 :(得分:2)
您必须删除第一个表达式中间的.*
:
^([a-zA-Z]{2}[0-9]{5}|[0-9]{5})$
答案 1 :(得分:1)
^(?:(?:\d{5})|((?!(?:\d*[a-zA-Z]){3})[a-zA-Z0-9]{7}))$
试试这个。看看演示。
https://www.regex101.com/r/rK5lU1/31
这将使您
1)Enter 5 digits
2)Enter 5 digits and 2 characters in any order.The `lookahead` makes sure that the characters are not more than `2`.