正则手机号码验证工具类

import java.util.Objects;
import java.util.regex.Pattern;


public class MobileUtils {
    /**
     * 正则:手机号(精确)
     * 

移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198

*

联通:130、131、132、145、155、156、175、176、185、186、166

*

电信:133、153、173、177、180、181、189、199

*

全球星:1349

*

虚拟运营商:170

*/ public 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])|(19[0-9])|(16[0-9])|166|198|199|(147))\\d{8}$"; public static boolean isNotBlankOrNull(String text) { return text != null && text.trim().length() > 0; } public static final String REGEX_FIXED_PHONE = "^(\\+\\d{2}-)?0\\d{2,3}-\\d{7,8}$"; /** * 正则验证字符串是否为手机号码 * @param mobile * @return */ public static boolean regexMobile(String mobile) { return isNotBlankOrNull(mobile) && Pattern.matches(REGEX_MOBILE_EXACT, mobile); } /** * 正则校验固定电话 * * @param phone 电话号码 */ public static boolean regexFixedPhone(String phone) { return Objects.nonNull(phone) && Pattern.matches(REGEX_FIXED_PHONE, phone); } /** * 正则校验手机号或固定电话 * * @param contact 联系方式 */ public static boolean regexContact(String contact) { return Objects.nonNull(contact) && (Pattern.matches(REGEX_MOBILE_EXACT, contact) || Pattern.matches(REGEX_FIXED_PHONE, contact)); } }

你可能感兴趣的:(工具,java)