第一次写博客,在前人的基础上,修改了下。一个Android的手机号正则表达式。
public static boolean isMobileNo(String mobiles) {
/*
* 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、184、187、188、147
* 联通号码段:130、131、132、185、186、145、171/176/175
* 电信号码段:133、153、180、181、189、173、177
*/
String telRegex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17([1-3]|[5-9]))|(18[0-9]))\\d{8}$";
/**
* (13[0-9])代表13号段 130-139
* (14[5|7])代表14号段 145、147
* (15([0-3]|[5-9]))代表15号段 150-153 155-159
* (17([1-3][5-8]))代表17号段 171-173 175-179 虚拟运营商170屏蔽
* (18[0-9]))代表18号段 180-189
* d{8}代表后面可以是0-9的数字,有8位
*/
if (TextUtils.isEmpty(mobiles)) {
return false;
} else {
return mobiles.matches(telRegex);
}
}
2017/08/17