Android开发如何验证输入的手机号码是否合格

在开发移动公司项目时,涉及输入手机号码获取验证码功能。为减轻后台负担,选择在APP端进行手机号码验证。根据中国移动、联通、电信的常见号段,总结手机号码特征:首位为1,第二位为3、5、8,其余为0-9。通过正则表达式 `[1][358]d{9}` 实现对输入手机号码的校验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天正在参与一个关于移动公司的项目开发,其中就有输入手机号码获取验证码的功能。如果说把验证手机号码的正确性的功能放到后台去验证感觉有点坑后台的那群娃,所以还不如我们在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

好啦,有了这点条件,那判断手机号码是否合格就方便多了,我们可以如下方法判断:

 

  1. public static boolean isMobileNO(String mobiles) {  

  2.     String telRegex = "[1][358]\\d{9}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。  
  3.     if (TextUtils.isEmpty(mobiles)){
  4.  return false;  
  5.     }
  6.     else return mobiles.matches(telRegex);  

就是这么简单,以后如果再有需要输入手机号码功能的地方只要加上这个就可以方便的判断输入的号码是否合格了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值