1.如果是一般的判断手机号前两位可以使用下面方法,[1]代表开头是1,[3456789]代表第二位是3456789,而后面几位随意去编写。
public static boolean validataPhonNumb(String phone) {
String telRegex = "[1][3456789]\\d{9}";
Pattern pattern = Pattern.compile(telRegex);
Matcher matcher = pattern.matcher(phone);
boolean b = matcher.matches();
if (!b) {
return false;
}
return true;
}
2.如果想要实现手机号第三位进行限制的话,如:154开头使用下面方法
public static boolean isChinaPhoneLegal(String str)
throws PatternSyntaxException {
String regExp = "^((13[0-9])|(15[^4])|(166)|(17[0-8])|(18[0-9])|(19[8-9])|(147,145))\\d{8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(str);
return m.matches();
}
13开头的后面跟0-9的任意8位数;
15开头的后面跟除了4以外的0-9的任意8位数;
18开头的后面跟0-9的任意8位数;
17开头的后面跟0-8的任意8位数,或者17[^9];
147,145开头后面跟任意8位数;
166开头的后面跟任意8位数;
198,199开头后面跟任意8位数;
3.简单邮箱正则表达式
public static boolean isEmail(String strEmail) {
String strPattern = "^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
if (TextUtils.isEmpty(strPattern)) {
return false;
} else {
return strEmail.matches(strPattern);
}
}