【发布时间】:2012-02-13 02:29:45
【问题描述】:
如果有人可以帮助我使用电话号码的正则表达式,那就太好了。以下是条件:
- 如果 + 存在,那么它应该是第一个字符
- 允许的字符是数字 ( ) 空格 - 和 .
- 最少 6 个数字,最多 12 个数字
- ( , ) 和空格可以出现在字符串中的任何位置
- - 不应该是第一个和最后一个字符,也不应该出现在 + 之后,如果 + 存在的话。
以下是一些有效数字:
- +93483227359
- +1 703 335 65123
- 34565464
- 001 (703) 332-6261
- +1703.338.6512
- +934-83227359
- (111)123-4567
- 111-123-4567
提前致谢
【问题讨论】:
-
只是检查一下,您确定要将“+)-)-)333(((,111” 成为有效的电话号码吗?
-
@JonSkeet 好吧,我很确定
tel:+)-)-)333(((,111是一个有效的 tel URI,所以有人可能会争辩说,如果它对 RFC 3966 来说足够好,那么...... :) 我会更担心最小和最大位数是国际有效的。 -
确实,我自己的 + 后面是 12 位,所以如果以给定国家/地区本地的形式给出,它至少有 13 位长。