繁体   English   中英

电话号码验证的正则表达式

[英]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})$
       ^

编辑:如前所述, +必须转义。

这有效-

^(\+)([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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM