java初识正则校验手机号
程序员文章站
2022-05-01 22:01:18
...
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
/**
* 手机号校验
* @author H110MD
* 注:我国的手机号分为三段,每一段都有不同的含义,前三位是网络识别号,4~7位是地区编码,8~11位才是用户的号码(随机分配)。
* 手机号码的正确读法为:1XX-XXXX-XXXX
*/
public class Test {
public static Object checkMobile(String str) {
if(StringUtils.isEmpty(str)) {
return false;
}
if(str.length() !=11) {
return "手机号位数不对";
}
//含义:^1代表第一位必须是1开头 、[3|4|5|7|8]代表第二位可以是3或4或5或7或8或9、第三位0-9任意一位 、\d代表匹配一个数字字符相当于[0-9]、 \d{8}表示一个8位任意数字
String regex="^1[3|4|5|7|8][0-9]\\d{8}$";
return Pattern.matches(regex, str);
}
public static void main(String[] args) {
String mobile = "15603703554";
System.out.println(checkMobile(mobile));
}
}