用于电话号码验证的综合正则表达式
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我正在尝试综合使用正则表达式来验证电话号码。 理想情况下,它将处理国际格式,但必须处理美国格式,包括以下内容: 1-234-567-8901 1-234-567-8901 x1234 1-234-567-8901 ext1234 1(234)567-8901 1.234.567.8901 1/234/567/8901 12345678901 我会以目前的尝试回答,但我希望有人能做得更好和/或更优雅。 #1楼 这是在JavaScript中效果很好的一种。 它在字符串中,因为这就是Dojo小部件所期望的。 它与带有可选扩展名的10位北美NANP号匹配。 空格,破折号和句点是可接受的定界符。 "^(\\(?\\d\\d\\d\\)?)( |-|\\.)?\\d\\d\\d( |-|\\.)?\\d{4,4}(( |-|\\.)?[ext\\.]+ ?\\d+)?$" #2楼 我一直在同一个问题上挣扎,试图使我的应用程序成为未来的证明,但是这些家伙让我朝着正确的方向前进。 我实际上不是在检查数字本身是否有用,我只是在尝试确保输入的一系列数字可能有扩展名,也可能没有扩展名。 最糟糕的情况是,如果用户不得不从XML文件中提取未格式化的号码,那么他们仍然只会在电话的数字键盘 012345678x5 键入数字