java 验证手机号是否合法

2022-11-09,,,

一、通用工具类编写

/**
* @project
* @Description
* @Author songwp
* @Date 2022/9/15 17:06
* @Version 1.0.0
**/
public class PhoneUtil { /**
* 验证手机号是否合法
* @return
*/
public static boolean isMobileNum(String mobile){
if (mobile.length() != 11) {
return false;
}else{
/**
* 移动号段正则表达式
*/
String pat1 = "^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
/**
* 联通号段正则表达式
*/
String pat2 = "^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
/**
* 电信号段正则表达式
*/
String pat3 = "^((133)|(153)|(177)|(18[0,1,9])|(149))\\d{8}$";
/**
* 虚拟运营商正则表达式
*/
String pat4 = "^((170))\\d{8}|(1718)|(1719)\\d{7}$"; Pattern pattern1 = Pattern.compile(pat1);
Matcher match1 = pattern1.matcher(mobile);
boolean isMatch1 = match1.matches();
if(isMatch1){
return true;
}
Pattern pattern2 = Pattern.compile(pat2);
Matcher match2 = pattern2.matcher(mobile);
boolean isMatch2 = match2.matches();
if(isMatch2){
return true;
}
Pattern pattern3 = Pattern.compile(pat3);
Matcher match3 = pattern3.matcher(mobile);
boolean isMatch3 = match3.matches();
if(isMatch3){
return true;
}
Pattern pattern4 = Pattern.compile(pat4);
Matcher match4 = pattern4.matcher(mobile);
boolean isMatch4 = match4.matches();
if(isMatch4){
return true;
}
return false;
}
}
}

二、方法调用测试

public static void main(String[] args) {
boolean mobileNum = isMobileNum("18740458584");
System.out.println("验证自己的手机号是否合法:"+mobileNum); boolean mobileNum1 = isMobileNum("1554");
System.out.println("验证少于11位数字通过验证是否合法:"+mobileNum1); boolean mobileNum2 = isMobileNum("1554AAAAAAAAAA");
System.out.println("验证大于11位数字且含字母通过验证是否合法:"+mobileNum2);
}

输出如下:

验证自己的手机号是否合法:true
验证少于11位数字通过验证是否合法:false
验证大于11位数字且含字母通过验证是否合法:false

java 验证手机号是否合法的相关教程结束。

《java 验证手机号是否合法.doc》

下载本文的Word格式文档,以方便收藏与打印。