繁体   English   中英

在java中使用Regex进行电话号码验证

[英]Usage of Regex for phone number validation in java

我想对我的应用程序中的字段执行电话号码验证,以便该字段仅允许格式为“+543353453”的电话号码。

我想用正则表达式来做,但正则表达式让我有点困惑。

下面的代码不起作用。

public static void main(String args[])
{    
    String a[]=new String[]{"+90030","3434","+403403"};

    String regEx="\\+\\d{9}";
    pattern = Pattern.compile(regEx);

    for(int i=0;i<a.length;i++)
    {
        boolean matches=pattern.equals(a[i]);
        if(pattern.equals(a[i]))
            System.out.println("Phone number is valid"+a[i]);   
        else
            System.out.println("Phone number is invalid"+a[i]);
        } 
    }
}

使用此代码:

    public static void main(String args[]) {
    String a[] = new String[] { "+90030", "3434", "+403403", "+477777777" };

    String regEx = "\\+\\d{9}";
    Pattern pattern = Pattern.compile(regEx);

    for (int i = 0; i < a.length; i++) {
        boolean matches = pattern.matcher(a[i]).matches();
        if (matches)
            System.out.println("Phone number is valid" + a[i]);
        else
            System.out.println("Phone number is invalid" + a[i]);
    }
}

并花一些时间阅读文档,您正在比较模式和字符串,它们不可能相等。 最后,在您的测试用例中,至少添加一个通过验证的用例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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