正在开发一个移动应用程序,用户可以通过转发电话号码注册用户。电话号码必须以“07”开头。以下是我的代码
public boolean isPhoneNumber(String s) {
String pattern = "[0-9]";
if (s.matches(pattern)) {
return true;
}
return false;
}
关于我如何从这里开始的任何想法
答案 0 :(得分:1)
您的当前表达式将允许任何字符串通过,只要它包含0
和9
之间的数字。
相反,您需要以下表达式:
^07
^
:匹配字符串start-of-string。0
:匹配文字0
。7
:匹配文字7
。在Java中:
public boolean isPhoneNumber(String s) {
String pattern = "^07";
if (s.matches(pattern)) {
return true;
}
return false;
}
答案 1 :(得分:1)
使用\ d检查字符是否为数字。对于前者\ d {6}将检查有6个后续数字。 这里是您要查找的代码:
public static boolean isPhoneNumber(String s) {
String pattern = "^07\\d{6}";
if (s.matches(pattern)) {
return true;
}
return false;
}
检查一下以了解有关正则表达式的更多信息:http://www.vogella.com/articles/JavaRegularExpressions/article.html
答案 2 :(得分:0)
你可以试试这个:^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$
答案 3 :(得分:0)
public static boolean isPhoneNumber(String s) {
String pattern = "^[0-9]{10}";
if (s.matches(pattern)) {
return true;
}
return false;
}