正则表达式验证手机号码格式的正确性

时间:2022-11-04 14:05:51

手机号格式的验证,我们在程序中经常用到,今天就做个记录

方式一:

  1. public boolean isMobileNO(String mobileNo){
  2.     Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
  3.     Matcher m = p.matcher(mobileNo);
  4.     return m.matches();  
  5.   }  
  6. 这个是抽出一个方法,以后可以在各个方法中调用,很方便。
方式二:

  1.         String value= "mobileNo";    
  2.   String regExp = "^[1]([3][0-9]{1}|59|58|88|89)[0-9]{8}$";    
  3.   Pattern p = Pattern.compile(regExp);    
  4.   Matcher m = p.matcher(value);    
  5.   return m.find();
  6. 这个没抽出成一个方法,不过上面基本没什么差别,仅在于正则表达式不一样,返回值一个是m.matches();一个是m.find();

具体正则

^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$和^[1]([3][0-9]{1}|59|58|88|89)[0-9]{8}$

大家可以上网看看啥意思,当然,正则表示不需要死记硬背,需要的时候拿来主义就好(个人感觉,哈哈)。