欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Android中手机号、车牌号正则表达式大全

程序员文章站 2022-05-04 16:49:53
手机号  手机名称有gsm:表示只支持中国联通或者中国移动2g号段(130、131、132、134、135、136、137、138、139、145、147、15...

手机号

 手机名称有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号段

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

 public static boolean ismobileno(string mobiles) {
     string telregex = "\\d{}|[]\\d{}|[]\\d{}|[]\\d{}|[]\\d{}";
     if (textutils.isempty(mobiles)) return false;
     else return mobiles.matches(telregex);
   }

其中:

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

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

以此类推。

车牌号

车牌号的正则表达式网上一直有,没怎么变过:

 public static boolean iscarnumberno(string carnumber) {
     /*
     车牌号格式:汉字 + a-z + 位a-z或-
     (只包括了普通车牌号,教练车和部分部队车等车牌号不包括在内)
     */
     string carnumregex = "[\ue-\ufa]{}[a-z]{}[a-z_-]{}";
     if (textutils.isempty(carnumber)) return false;
     else return carnumber.matches(carnumregex);
   }

当然这个正则表达式有局限性,比如第一位只限定是汉字,没限定只有34个省汉字缩写;车牌号不存在字母i和o,防止和1、0混淆;部分车牌无法分辨等等。

以上内容就是本文给大家介绍的android中手机号、车牌号正则表达式大全,希望对大家有用。