通用邮政编码的两个标准和单个正则表达式
Two criterias and single regex for generic postal code
我为邮政编码(非美国国家/地区)创建了一个正则表达式以包含两个条件..
- 最少 5 个字符,最多 10 个字符
- 应该只有字母数字,中间只有一个 space/hyphen
正则表达式:^([a-zA-Z0-9]{3,10}[ |-]{0,1}[a-zA-Z0-9]{0,7})(.{ 5,10})$
我不确定这是哪里出了问题,但这行不通
怎么样:
(?=^\w+[ -]\w+$)^[a-zA-Z0-9 -]{5,10}$
演示:https://regex101.com/r/xqMq7o/2
细分:
^[a-zA-Z0-9 -]{5,10}$
设置允许的字符和大小的模式。如果不是 space/hyphen 要求 ,它可能是单独的
(?=^\w+[ -]\w+$)
确保至少有一个 space/hyphen。 (\w
可以使用,因为它包含 a-zA-Z0-9
但不包含 -
。或者,可以使用 [^ -]
代替它。)
阅读@acdcjunior 和@CAustin 的帖子后,我也根据他们提供的正则表达式更正了我的解决方案...
(?=^.{5,10})^[a-zA-Z0-9]{3,10}[ |-]{0,1}[a-zA-Z0 -9]{0,7}$
这比我最初发布的标准更多...
1. 限制 space/hyphen 左边至少有 3 个,这不是强制性的
2.限制space/hyphen右边最多7个
3.整体长度应为5~10
4. 应该是字母数字
希望这对其他人也有帮助。
再次感谢。
我为邮政编码(非美国国家/地区)创建了一个正则表达式以包含两个条件..
- 最少 5 个字符,最多 10 个字符
- 应该只有字母数字,中间只有一个 space/hyphen
正则表达式:^([a-zA-Z0-9]{3,10}[ |-]{0,1}[a-zA-Z0-9]{0,7})(.{ 5,10})$
我不确定这是哪里出了问题,但这行不通
怎么样:
(?=^\w+[ -]\w+$)^[a-zA-Z0-9 -]{5,10}$
演示:https://regex101.com/r/xqMq7o/2
细分:
^[a-zA-Z0-9 -]{5,10}$
设置允许的字符和大小的模式。如果不是 space/hyphen 要求 ,它可能是单独的
(?=^\w+[ -]\w+$)
确保至少有一个 space/hyphen。 (\w
可以使用,因为它包含a-zA-Z0-9
但不包含-
。或者,可以使用[^ -]
代替它。)
阅读@acdcjunior 和@CAustin 的帖子后,我也根据他们提供的正则表达式更正了我的解决方案...
(?=^.{5,10})^[a-zA-Z0-9]{3,10}[ |-]{0,1}[a-zA-Z0 -9]{0,7}$
这比我最初发布的标准更多... 1. 限制 space/hyphen 左边至少有 3 个,这不是强制性的 2.限制space/hyphen右边最多7个 3.整体长度应为5~10 4. 应该是字母数字
希望这对其他人也有帮助。
再次感谢。