Javascript 具有4位数字和2个可选字母的zipcode的正则表达式
我需要检查JavaScript中的邮政编码。规则是4位数字是必需的,末尾的2个字母是可选的。1数字和字母之间也允许有空格 示例:Javascript 具有4位数字和2个可选字母的zipcode的正则表达式,javascript,regex,Javascript,Regex,我需要检查JavaScript中的邮政编码。规则是4位数字是必需的,末尾的2个字母是可选的。1数字和字母之间也允许有空格 示例: 1019 //true 1019PZ //true 1019 PZ //true 1019P //false (and anything else is false) 这是我到目前为止使用的正则表达式。但在这个正则表达式中,末尾的字母不是可选的,而是强制性的 var regex = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i;
1019 //true
1019PZ //true
1019 PZ //true
1019P //false
(and anything else is false)
这是我到目前为止使用的正则表达式。但在这个正则表达式中,末尾的字母不是可选的,而是强制性的
var regex = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i;
有什么建议让结尾的字母可选吗?例如,你可以试试这个:
/^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{0,2}$/
只需将一个值添加到一个范围内,这意味着您的字母可以从零到两次出现。例如,您可以尝试以下方法:
/^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{0,2}$/
只需将一个值添加到一个范围内,这意味着您的字母可以从零到两次出现。组
[a-z]{2}
与非捕获组(?:[a-z]{2})
后跟?
,以使该组成为可选组。这样,两个字母是可选的,不能只有一个字母
^[1-9][0-9]{3} ?(?!sa|sd|ss)(?:[a-z]{2})?$
组
[a-z]{2}
和非捕获组(?:[a-z]{2})
后接?
,以使组成为可选组。这样,两个字母是可选的,不能只有一个字母
^[1-9][0-9]{3} ?(?!sa|sd|ss)(?:[a-z]{2})?$
以下工作:
\d{4} ?[A-z]{2}?
- \d{4}:匹配4个必填数字
- “空格?”:匹配数字和字母之间的一个可选空格
- [A-z]{2}?:匹配两个可选字母
- 以下工作:
\d{4} ?[A-z]{2}?
- \d{4}:匹配4个必填数字
- “空格?”:匹配数字和字母之间的一个可选空格
- [A-z]{2}?:匹配两个可选字母