这几天正在参与一个关于移动公司的项目开发,其中就有输入手机号码获取验证码的功能。如果说把验证手机号码的正确性的功能放到后台去验证感觉有点坑后台的那群娃,所以还不如我们在APP中直接验证。
第一步:先来总结一下我们日常生活中的手机号码共同的特性
移动的号码前三位:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通的号码前三位:130、131、132、152、155、156、185、186
电信的号码前三位:133、153、180、189、(1349卫通)
(以上数据来源于专业人士提供,权威性还是很高的,大家可以放心使用!)
仔细观察上面的那些前三位号码可以看出:第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9
好啦,有了这点条件,那判断手机号码是否合格就方便多了,我们可以如下方法判断:
- public static boolean isMobileNO(String mobiles) {
-
- String telRegex = "[1][358]\\d{9}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
- if (TextUtils.isEmpty(mobiles)){
- return false;
- }
- else return mobiles.matches(telRegex);
- }
就是这么简单,以后如果再有需要输入手机号码功能的地方只要加上这个就可以方便的判断输入的号码是否合格了。