手机号码的正则表达式

发布于 2024-12-01 09:00:18 字数 281 浏览 0 评论 0原文

我需要一个具有以下规范的正则表达式:

  1. 允许的字符:
    (空格)、(, )+、0- 9
  2. ( 可以是修剪后的第一个字符,例如 (+61) 312 405 678+61 312 405 678
  3. 长度:最少 8 个字符16 – 显示边界条件下的错误。

I need a REGEX with following specifications:

  1. Allowed chars:
    (blank space), (, ), +, , 0-9
  2. ( can be first char after trim like (+61) 312 405 678 or +61 312 405 678
  3. Length: min 8 characters max 16 – show error in case of boundary conditions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

伴我老 2024-12-08 09:00:18

我宁愿坚持标准,也不会重新发明轮子。您可以使用名为 libphonenumber 的特殊库来处理电话号码

I would rather stick with standards and won't reinvent the wheel. You can use a special library for handling phone numbers called libphonenumber

多孤肩上扛 2024-12-08 09:00:18

试试这个

reg exp: ^(\(\+\d{2}\)|\+\d{2})[ -]?(\d{3}[ -]?){2}\d{3}$

try this

reg exp: ^(\(\+\d{2}\)|\+\d{2})[ -]?(\d{3}[ -]?){2}\d{3}$
残龙傲雪 2024-12-08 09:00:18

不是重复的,但可能会给出一些答案。我的方法是去掉不是数字的字符(+ 除外),然后基于此处理正则表达式。应对起来应该容易很多。

您也可以尝试 http://regexlib.com

Not a duplicate, but this may give some answers. My approach would be to strip out the characters that aren't digits (aside from +) and then process the regex based on that. Should be a lot easier to deal with.

You could also try http://regexlib.com.

念﹏祤嫣 2024-12-08 09:00:18

根据您的规范,此正则表达式将起作用:

[-+\d() ]{8,16}

这也将匹配 (--++--),因此您可能需要更改/澄清您的规范。

另外,正则表达式不会“显示错误”,它们唯一做的就是匹配或不匹配。

According to your specifications, this regex would work:

[-+\d() ]{8,16}

This will also match (--++--), so you may want to change/clarify your specs.

Also, regex do not "show error", the only thing they do is match or not.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文