大陆和香港手机号正则校验

在日常的开发中,经常会遇到需要校验手机号的情况,这里列举大陆和香港的手机校验。

大陆手机号匹配校验

 /*** 大陆手机号码11位数,匹配格式:前三位固定格式+后8位任意数* 此方法中前三位格式有:* 13+任意数* 145,147,149* 15+除4的任意数(不要写^4,这样的话字母也会被认为是正确的)* 166* 17+3,5,6,7,8* 18+任意数* 198,199*/public static boolean isChinaPhoneLegal(String str) throws PatternSyntaxException {// ^ 匹配输入字符串开始的位置// \d 匹配一个或多个数字,其中 \ 要转义,所以是 \\d// $ 匹配输入字符串结尾的位置String regExp = "^((13[0-9])|(14[5,7,9])|(15[0-3,5-9])|(166)|(17[3,5,6,7,8])" +"|(18[0-9])|(19[8,9]))\\d{8}$";Pattern p = Pattern.compile(regExp);Matcher m = p.matcher(str);return m.matches();}

香港手机号匹配校验

/*** 香港手机号码8位数,5|6|8|9开头+7位任意数*/public static boolean isHKPhoneLegal(String str) throws PatternSyntaxException {// ^ 匹配输入字符串开始的位置// \d 匹配一个或多个数字,其中 \ 要转义,所以是 \\d// $ 匹配输入字符串结尾的位置String regExp = "^(5|6|8|9)\\d{7}$";Pattern p = Pattern.compile(regExp);Matcher m = p.matcher(str);return m.matches();}

同时校验大陆和香港号码

/*** 大陆号码或香港号码均可*/public static boolean isPhoneLegal(String str) throws PatternSyntaxException {return isChinaPhoneLegal(str) || isHKPhoneLegal(str);}

使用
在app的注册功能中,我们想实现对注册的手机号进行校验,没有通过的手机号不可注册。

if(checkUser(userNameText.getText().toString())){registerErrorText.setText(R.string.used_username);registerErrorText.setVisibility(View.VISIBLE);Log.d(TAG,"该用户名已经被注册");}else{if(!PhoneFormatCheckUtils.isPhoneLegal(userNameText.getText().toString())){registerErrorText.setText(R.string.standardtel);registerErrorText.setVisibility(View.VISIBLE);Log.d(TAG,"手机号码不正确");}else{registerErrorText.setVisibility(View.INVISIBLE);RegisterButton.setEnabled(true);RegisterButton.setClickable(true);}}

效果


输入正确的手机号码即可注册。

大陆和香港手机号正则校验相关推荐

  1. 微信号,QQ号,手机号 正则校验

    var wxReg = new RegExp("^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$"); //微信号正则校验 var qqReg = new RegE ...

  2. el-input 输入框类型;只能输入数字的输入框;保留两位小数输入框;只能输入正整数和0的输入框;手机号正则校验;车牌号码正则校验

    以下代码可直接复制使用: 以下代码可直接复制使用! <template><div><a href="https://baike.baidu.com/item/% ...

  3. java最新手机号正则校验

    手机号校验 public static boolean CheckMobilePhoneNum(String phoneNum) {String regex = "^(1[3-9]\\d{9 ...

  4. 2022手机号正则校验

    addFormRules: {email: [{ required: true, message: '请输入邮箱', trigger: 'blur' },{ pattern: /^([a-zA-Z0- ...

  5. 2019最新手机号正则校验表达式

    可以在浏览器console台测试再使用 /^(((13[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(17[3-8]{1})|(18[0-9]{1})|(19[0-9]{1} ...

  6. 身份证、手机号、邮箱、银行卡、企业税号等正则校验

    身份证号正则校验: 前6位 第一位1到9范围 后5位 数字 /^[1-9]\d{5}/ 年份4位 开头两位 18 or 19 or 20 后面2位数字 /(18|19|20)\d{2}/ 月份2位 1 ...

  7. 正则校验手机号和邮箱

    校验手机号正则 校验邮箱正则

  8. 手机号、密码正则校验

    文章目录 手机号正则校验 密码正则校验 手机号正则校验 public static boolean isPhone(String phone) {String regex = "^1[3|4 ...

  9. js正则验证人名,包含· | 手机号正则验证(199)

    姓名验证(包含中间带点格式 ): /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/ 手机格式验证(199.移动198.联通166号): /^(13[0-9]|14[5- ...

  10. vue+elementui 手机号正则验证

    vue+elementui手机号正则校验 1. /^1(3|4|5|7|8|9)\d{9}$/ 2. /^1[3456789]\d{9}$/// 在表单rules中可以这样写规则验证rules:[mo ...

最新文章

  1. 使用Keil语言的嵌入式C编程教程(下)
  2. 【清华大学王东老师】现代机器学习技术导论.pdf
  3. 超卖频发or商品滞销?压倒卖家的最后一根稻草竟是库存!
  4. dede扩展数据类型_数据类型,扩展
  5. nitrous.io mysql_云IDE:Nitrous.io的介绍以及活用手段
  6. PMCAFF | 产品经理如何提升自己的配色能力?
  7. 【IT笔试面试题整理】判断链表是否存在环路,并找出回路起点
  8. 信息学奥赛一本通 1089:数字反转 | 1953:【11NOIP普及组】数字反转 | OpenJudge NOI 1.5 29 | 洛谷 P1307 [NOIP2011 普及组] 数字反转
  9. 小齐是如何提高自己的「编程能力」的?
  10. Mysql学习总结(59)——数据库分库分表策略总结
  11. 【干货】神策数据朱德康:用户中台建设实践解析(附PPT下载链接)
  12. 【CCCC】L3-009 长城 (30分),计算几何+凸包,极角排序
  13. VB2010(24)窗体用户控件
  14. 【第三方互联】12、支付宝(Alipay)授权第三方登录
  15. WIN10系统如何取消右下角的通知菜单,通知图标
  16. 【天光学术】汉语言文学论文:浅谈农村初中文言文教学现状及有效策略
  17. 力扣T51数组中的逆序对--困难
  18. vim中复制整个别的文件内容
  19. python中turtle隐藏画笔_python中Turtle的画笔命令有哪些?
  20. 图形图像-无中生有Photoshop CS6背景素材技法ps教程 [超多案例]-韦语洋(Lccee)-专题视频课程...

热门文章

  1. 项目管理 之一 软件开发生命周期(软件开发过程、瀑布模型、敏捷开发等)
  2. 《自适应滤波器原理》西蒙.赫金 百度云
  3. ev3编程 越野机器人_【EV3基础编程 第四课】机器人编程的基础,先要学这些(下)...
  4. 收集:Programer Jokes
  5. 音视频入门系列-字幕篇(SSA ASS)
  6. 全志F1C100S的BROM研究
  7. 关于unity导出FBX文件
  8. Bicomb+spss进行共现分析并可视化(附安装包)
  9. 《大话数据结构(C#实现)》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+软件架构设计+框架编程+数组+栈+链表+图+队列+树+堆+二叉树+哈希表+立钻哥哥+==)
  10. Visio直角连接线增加直角拐弯