java初识正则校验手机号

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));
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值