-
java正则表达式判断手机号
public class validateMatch {
/**
* 正则:手机号(简单), 1字头+10位数字即可.
*/
private static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";
private static final Pattern PATTERN_REGEX_MOBILE_SIMPLE = Pattern.compile(REGEX_MOBILE_SIMPLE);
/**
* 正则:手机号(精确), 已知3位前缀+8位数字
* <p>
* 移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188
* </p>
* <p>
* 联通:130、131、132、145、155、156、175、176、185、186
* </p>
* <p>
* 电信:133、153、173、177、180、181、189
* </p>
* <p>
* 全球星:1349
* </p>
* <p>
* 虚拟运营商:170
* </p>
*/
private static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";
private static final Pattern PATTERN_REGEX_MOBILE_EXACT = Pattern.compile(REGEX_MOBILE_EXACT);
/**
* 正则:手机号(简单), 1字头+10位数字即可.
*/
private static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";
private static final Pattern PATTERN_REGEX_MOBILE_SIMPLE = Pattern.compile(REGEX_MOBILE_SIMPLE);
/**
* 正则:手机号(精确), 已知3位前缀+8位数字
* <p>
* 移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188
* </p>
* <p>
* 联通:130、131、132、145、155、156、175、176、185、186
* </p>
* <p>
* 电信:133、153、173、177、180、181、189
* </p>
* <p>
* 全球星:1349
* </p>
* <p>
* 虚拟运营商:170
* </p>
*/
private static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";
private static final Pattern PATTERN_REGEX_MOBILE_EXACT = Pattern.compile(REGEX_MOBILE_EXACT);