我正在尝试对护照号码实现正则表达式验证。
我的要求是
- 长度应最少 3 个字符,最多 20 个字符。
- 不应该只有 0
我尝试使用下面的正则表达式
^(?!0{3,20})[a-zA-Z0-9]{3,20}$
这似乎适用于大多数情况,但如果我的文本包含 3 个或更多前导零,它似乎会失败。例如'00000001'。
示例匹配
- 101AE24 - 按预期工作
- 00 - 没有按预期工作
- 01234 - 按预期工作
- 00001 - 不工作(但它也应该匹配)
如有任何帮助,我们将不胜感激。
最佳答案
这个呢?
^(?!^0+$)[a-zA-Z0-9]{3,20}$
与其说“拒绝包含 3-20 个零的值”,不如说“拒绝任何仅包含零的值(无论长度如何,因为 <3 和 >20 无论如何都会失败)
关于c# - 护照号码的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40647728/