用java 的正则表达式区分移动、联通、电信的手机号

最近我们公司在做短信接口,其中一个功能就是要实现给移动、联通、电信的号码发送短信。我在网上收到一些资料,加上看书等,已将这个功能实现,现贴出来。


public static int matchesPhoneNumber(String phone_number) {

String cm = "^((13[4-9])|(147)|(15[0-2,7-9])|(18[2-3,7-8]))\\d{8}$";
String cu = "^((13[0-2])|(145)|(15[5-6])|(186))\\d{8}$";
String ct = "^((133)|(153)|(18[0,9]))\\d{8}$";

int flag = 0;
if (phone_number.matches(cm)) {
flag = 1;
} else if (phone_number.matches(cu)) {
flag = 2;
} else if (phone_number.matches(ct)) {
flag = 3;
} else {
flag = 4;
}
return flag;

}

public static void whichOperator(int x){

switch(x){
case 1 :
System.out.println("移动号码");
break;

case 2:
System.out.println("联通号码 ");
break;
case 3 :
System.out.println("电信号码");
break;
case 4:
System.out.println("输入有误");
break;
default:System.out.println("输入有误");

}
}

public static void main(String[] args) {
String e ="14561198278";
whichOperator(matchesPhoneNumber(e));



}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值