Android中手机号正则表达式


 手机名称有GSM:表示只支持中国联通或者中国移动2G号段(130、131、132、134、135、136、137、138、139、145、147、150、151、152、155、156、157、158、159、182、185、186、187、188)

手机名称有CDMA:表示只支持中国电信2G号段(133、153、180、181、189) 

手机名称有WCDMA/GSM:表示支持中国联通或者中国移动2G号段,以及中国联通3G号段(130、131、132、134、135、136、137、138、139、145、147、150、151、152、155、156、157、158、159、182、183、185、186、187、188),不支持 移动3G业务,不支持电信卡。

手机名称有TD-SCDMA/GSM:表示支持中国联通或者中国移动2G号段,以及中国移动3G号段(130、131、132、134、135、136、137、138、139、145、147、150、151、152、155、156、157、158、159、 182、183、185、186、187、188),不支持联通3G业务,不支持电信卡。

手机名称有CDMA2000/CDMA:表示支持中国电信2G号段,以及中国电信3G号段(133、153、180、181、189),不支持移动联通卡

手机名称有CDMA2000/GSM(双模双待):表示一张卡支持中国电信2G号段,以及中国电信3G号段(133、153、180、181、189),另一张卡支持中国移动或中国联通2G号段的语音和短信功能。

第三方运营商的170号码段

补充:联通4G 176、电信4G 177、移动4G 178号段

 

根据这些写出的正则表达式函数如下:

1 public static boolean isMobileNO(String mobiles) { 2 String telRegex = "13\\d{9}|14[57]\\d{8}|15[012356789]\\d{8}|18[01256789]\\d{8}|17[0678]\\d{8}"; 3 if (TextUtils.isEmpty(mobiles)) return false; 4 else return mobiles.matches(telRegex); 5 }

其中:

“13\\d{9}”指前两位为1和3,后面跟任意9位;

“14[57]\\d{8}”指前两位为1和4,第三位为5或7,后面跟任意8位;

\ 将下一个字符标记为一个特殊字符

\d 匹配一个数字字符。等价于[0-9]

{n} 匹配确定的n次。

[xyz] 字符集合。匹配所包含的任意一个字符

x|y 匹配x或y

String.match( )

boolean java.lang.String.matches(String regularExpression)参数为正则表达式

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM