首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >邮政编码和国家匹配与Javascript

邮政编码和国家匹配与Javascript
EN

Stack Overflow用户
提问于 2013-09-01 10:56:13
回答 2查看 134关注 0票数 4

我有一些困难,让一个regex运行这些案件-对不起,我是非常新的regex,并没有弄清楚。

模式如下:

  • 12 (真)
  • 123 (真)
  • 1234 (真)
  • 12345 (真)
  • 1a..。(虚假)
  • 12a.(虚假)
  • 123 .(虚假)
  • 1234 a.(虚假)
  • 12345米(真)
  • 12345 mün (真)
  • 明晨123 (假)
  • mün 12345 (真)

因此,如果与字母相结合,邮政编码必须完全填充在范围内给定的最大长度,如{2,5}

我试过这个,但不像我需要的那样工作:

/^([0-9]{2,5})(\s+[^a-zA-Z]{2,})?$/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-01 11:03:45

这样做是可行的:

/^([0-9]{5}\s[a-z]+)$|^([a-z]+\s[0-9]{5})$|^([0-9]{2,5})$/i (评论后编辑)

注意OR操作符:

匹配[0-9]{5}\s[a-z]+[a-z]+\s[0-9]{5}[0-9]{2,5}

您可以在单词匹配中添加任何国际字符,例如:[a-zä-üß],但取决于所使用的语言,可以支持更好的选项。

测试 http://jsfiddle.net/zd4Qm/4/

票数 2
EN

Stack Overflow用户

发布于 2013-09-01 10:58:15

有时,正则表达式并不是唯一的答案。

代码语言:javascript
复制
if (there are letters in the string) {
    search for /\d{5}/
} else {
    search for /\d{2,5}/
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18557708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档