【发布时间】:2017-01-08 18:29:59
【问题描述】:
最近,我正在使用regexpal 来构建这个自定义正则表达式。 我正在处理几个印度尼西亚电话号码的测试用例。
这里是一个简单的例子08xx-3456-7890或08xx34567890
但如果我得到以下格式可能会有点混乱
here is my phone (08xx)34567890
08xx.3456.7890
08xx 3456 7890
(+62) 8xx34567890
(+62) 8xx-3456-7890
+628xx34567890
+62-8xx-3456-7890
+628xx 3456 7890
这是我用(08|628|62)[\s\)\-]*(\s|(\d){3,}) 完成的正则表达式
但我无法涵盖所有这些示例。
+62 是国家代码
您能帮我提供任何解决方案来验证这些格式吗?
电话号码可能包含字符串而不是数字,因为它是句子的一部分
【问题讨论】:
-
我不知道为什么那个家伙投了反对票,没有任何评论
-
一条建议:首先将各个部分分成四个逻辑组:
(+62)、8xx、3456、7890,然后在放置整个正则表达式模式之前分别处理变化一起 -
x是什么?任何数字?34567890也有任何号码吗? -
@MathiasR.Jessen 看到我的编辑先生,因为它不仅仅是数字,有时它后面是一串句子。
-
@NicolasMaltais 是的
x是数字,34567890应该只是一个数字
标签: regex phone-number