手机号码的正则表达式
我需要一个具有以下规范的正则表达式:
- 允许的字符:
(空格)、
(
,)
、+
、–
、0- 9 (
可以是修剪后的第一个字符,例如(+61) 312 405 678
或+61 312 405 678
- 长度:最少 8 个字符16 – 显示边界条件下的错误。
I need a REGEX with following specifications:
- Allowed chars:
(blank space),
(
,)
,+
,–
, 0-9 (
can be first char after trim like(+61) 312 405 678
or+61 312 405 678
- Length: min 8 characters max 16 – show error in case of boundary conditions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我宁愿坚持标准,也不会重新发明轮子。您可以使用名为 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
试试这个
try this
不是重复的,但这可能会给出一些答案。我的方法是去掉不是数字的字符(+ 除外),然后基于此处理正则表达式。应对起来应该容易很多。
您也可以尝试 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.
根据您的规范,此正则表达式将起作用:
这也将匹配
(--++--)
,因此您可能需要更改/澄清您的规范。另外,正则表达式不会“显示错误”,它们唯一做的就是匹配或不匹配。
According to your specifications, this regex would work:
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.