[英]Regular expression for phone number validation
嗨,我需要使用正则表达式进行以下格式的电话号码验证
+1-646-222-3333
我写过像
^(+)([0-9]{3}-[0-9]{3}-[0-9]{4})
但是它不起作用。 我能知道我做错了什么吗?
尝试这个:
String str = "+1-646-222-3333";
if(str.matches("\\+\\d-\\d{3}-\\d{3}-\\d{4}")) {
System.out.println("Valid number");
}else {
System.out.println("Invalid number");
}
我认为您一开始缺少1。 而且,如果您不想允许任何结尾的字符串,则应标记$.
行的结尾$.
^(\+)([0-9]-[0-9]{3}-[0-9]{3}-[0-9]{4})$
^
编辑:如前所述, +
必须转义。
像这样
^(\\+1)-([0-9]{3}-[0-9]{3}-[0-9]{4})
^
put this
^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.