美文网首页
大陆号码,香港号码,澳门号码,正则匹配-2018-11-03

大陆号码,香港号码,澳门号码,正则匹配-2018-11-03

作者: 槐树向北 | 来源:发表于2018-11-13 10:42 被阅读57次
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

public class FormatCheckUtil {

/**
* 大陆号码或香港号码均可
*/
public static boolean isPhoneLegal(String str) throws PatternSyntaxException {
return isChinaPhoneLegal(str) || isHKPhoneLegal(str);
}

/**
* 大陆手机号码11位数,匹配格式:前三位固定格式+后8位任意数 此方法中前三位格式有: 13+任意数 15+除4的任意数 18+除1和4的任意数
* 17+除9的任意数 147
*/
public static boolean isChinaPhoneLegal(String str) throws PatternSyntaxException {
String regExp = "^((13[0-9])|(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147))\\d{8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(str);
return m.matches();
}

/**
* 香港手机号码8位数,5|6|8|9开头+7位任意数
*/
public static boolean isHKPhoneLegal(String str) throws PatternSyntaxException {
String regExp = "^(5|6|8|9)\\d{7}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(str);
return m.matches();
}
}

相关文章

网友评论

      本文标题:大陆号码,香港号码,澳门号码,正则匹配-2018-11-03

      本文链接:https://www.haomeiwen.com/subject/shckxqtx.html