Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何编写电话号码正则表达式_Android_Regex - Fatal编程技术网

Android 如何编写电话号码正则表达式

Android 如何编写电话号码正则表达式,android,regex,Android,Regex,我正在开发一个移动应用程序,人们可以通过转发自己的电话号码向用户注册该应用程序。电话号码必须以“07”开头。下面是我的代码 public boolean isPhoneNumber(String s) { String pattern = "[0-9]"; if (s.matches(pattern)) { return true; } return false; } 关于我如何从这里开始的任何想法您当前的表达式将允许任何字符串通过,只要它包含一

我正在开发一个移动应用程序,人们可以通过转发自己的电话号码向用户注册该应用程序。电话号码必须以“07”开头。下面是我的代码

public boolean isPhoneNumber(String s) {
    String pattern = "[0-9]";
    if (s.matches(pattern)) {
        return true;
    }
    return false;
}

关于我如何从这里开始的任何想法

您当前的表达式将允许任何字符串通过,只要它包含一个介于
0
9
之间的数字

相反,您需要以下表达式:

^07
  • ^
    :匹配字符串的开头
  • 0
    :匹配文本
    0
  • 7
    :匹配文本
    7
在Java中:

public boolean isPhoneNumber(String s) {
   String pattern = "^07";
   if (s.matches(pattern)) {
       return true;
   }
   return false;
}

您可以尝试以下方法:
^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$

使用\d检查字符是否为数字。对于ex.\d{6}将检查是否有6个后续数字。 下面是您要查找的代码:

public static boolean isPhoneNumber(String s) {
    String pattern = "^07\\d{6}"; 
    if (s.matches(pattern)) {
        return true;
    }
    return false;
}

查看此项了解有关正则表达式的更多信息:

例如,您可以在下面尝试使用10位数的手机号码

       public static boolean isPhoneNumber(String s) {
       String pattern = "^[0-9]{10}"; 
       if (s.matches(pattern)) {
        return true;
        }
        return false;
       }

检查此链接上的各种正则表达式:国家前缀如何?一些用户会包含它,其他用户不会。我该如何编写该表达式??我已经试过^07[0-9],但是没有working@williamjingo你还有什么问题吗?