求一则电话号码正则表达式

求一则正则表达式,可允许输入0086/86/+86/(86)或其他国际区号或不输入-或空格xxx-xxxxxxxx

第1个回答  2013-09-22
^[1-9]\\d{0,2}-0\\d{1,4}-\\d{8,9}¥下面是测试代码,import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test {public static void main(String args[]){Pattern pattern = Pattern.compile("^[1-9]\\d{0,2}-0\\d{1,4}-\\d{87399}¥");String s = "1-022-88888888";Matcher m = pattern.matcher(s);if(m.find()){System.out.println("正确的电话号码!");}else{System.out.println("错误的电话号码!");}}}希望能帮到你uzb173。仍有问题可以HI我。。。本回答被网友采纳
第2个回答  2013-09-22
^[0-9\-()()]{7,18}$追问

不行啊,我打了一串字符串都能验证通过。

追答

不会啊,我测了的,如果输入字符串验证是不能通过的,还是你看错了???

追问

恩 是刚刚写错了 少个空格
还有+86 xxx-xxxxxxxx,(86)-xxx-xxxxxxxxx这样的格式要怎么修改?

本回答被提问者采纳
相似回答