正则表达式用于邮政编码

4

我希望能够拥有一个邮政编码,它可以是5位数字(12345),也可以是没有空格的9位数字(123456789),或者是带有连字符的10位数字,如果有9个数字(12345-6789)。下面的代码对于我的第一和第三种情况是有效的,但无法使第二种情况有效,想知道是否有人可以提供任何建议。谢谢。

^\d{5}(?:[-]\d{4})?$

似乎您不需要正则表达式。这个问题足够小且静态,手动编写检查代码似乎比使用正则表达式更好。 - Jetti
3个回答

3

0

0
@miken32,你的正则表达式接受所有的零(0),例如00000或00000-0000。我已经做了一些更改,使得前三个字符不能为0。
^(?!0{3})\d{5}(?:-?\d{4})?$

https://regex101.com/r/om61st/1


您可以参考这个基本的正则表达式教程 - https://www.youtube.com/watch?v=8uCHRyK_VMo - Krishnraj Rana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接