手机号码相关匹配,判断是否手机号码,属于哪个运营商1移动2联通3电信

package com.hzlq.yyffserver.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* 手机号码相关匹配,判断是否手机号码,属于哪个运营商1移动2联通3电信
*
* @author
* @date
* @version 1.0
*/
public class PhoneRegexUtil {

/**
* * 中国移动
* 134.135.136.137.138.139.150.151.152.157.158.159.182.183.184.187.188
* ,147(数据卡)
*/
public static String regex_mobile = "^1(3[4-9]|47|5[012789]|8[23478])\\d{8}$";
/**
* * 中国联通 130.131.132.155.156.185.186.145(数据卡)
*/
public static String regex_unicom = "^1(3[0-2]|5[56]|8[56]|45)\\d{8}$";
/**
* * 中国电信 133.153.180.189.181
*/
public static String regex_telecom = "^1([35]3|8[019])\\d{8}$";

/**
* 配置手机号码类型
*
* @param mobile 手机号码
* @return 1:移动 2:联通 3:电信 0:未匹配
*/
public static int phoneMatching(String mobile) {
if (matching(PhoneRegexUtil.regex_mobile, mobile)) {
// 移动
return 1;
} else if (matching(PhoneRegexUtil.regex_unicom, mobile)) {
// 联通
return 2;
} else if (matching(PhoneRegexUtil.regex_telecom, mobile)) {
// 电信
return 3;
} else {
// 没有匹配
return 0;
}
}

/**
* 匹配手机号码
*
* @param regex 手机号码正则表达式
* @param mobile 手机号码
* @return 是否匹配上,true是
*/
public static boolean matching(String regex, String mobile) {
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(mobile);
return m.matches();
}

/**
* 匹配是否为手机号码
*
* @param mobile 手机号码
* @return 是否手机号码,true是
*/
public static boolean isMobile(String mobile) {
Pattern p = Pattern.compile("^(1(3|5|8)\\d{9})|(14[57]\\d{8})$");
Matcher m = p.matcher(mobile);
return m.matches();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值