在实际开发中我们需要对手机号格式校验,以下是对中国手机号校验的实现。

  1. public class PhoneUtils {
  2. /**
  3. * 中国手机号码
  4. */
  5. private static Pattern CHINESE_PHONE_PATTERN = Pattern.compile("((13|15|17|18)\\d{9})|(14[57]\\d{8})");
  6. /**
  7. * 是否是有效的中国手机号码
  8. * @param phone
  9. * @return
  10. */
  11. public static boolean isValidChinesePhone(String phone) {
  12. if (phone == null || phone.length() != 11) {
  13. return false;
  14. }
  15. Matcher matcher = CHINESE_PHONE_PATTERN.matcher(phone);
  16. return matcher.matches();
  17. }
  18. /**
  19. * 检查手机是否无效
  20. * @param phone
  21. * @return
  22. */
  23. public static boolean isNotValidChinesePhone(String phone) {
  24. return !isValidChinesePhone(phone);
  25. }
  26. /**
  27. * 手机中间添加星号
  28. * @param phone
  29. * @param beginIndex
  30. * @param endIndex
  31. * @return empty string if phone length is illegal
  32. */
  33. public static String setAsterisk(String phone, int beginIndex, int endIndex) {
  34. if (StringUtils.isBlank(phone)) {
  35. return StringUtils.EMPTY;
  36. }
  37. if (beginIndex < 0 || endIndex < 0 || beginIndex > phone.length() || endIndex > phone.length()) {
  38. throw new IllegalArgumentException("illegal index " + beginIndex + "," + endIndex);
  39. }
  40. StringBuilder phoneWithAsterisk = new StringBuilder(phone.substring(0, beginIndex));
  41. for (int i = beginIndex; i < endIndex; i++) {
  42. phoneWithAsterisk.append("*");
  43. }
  44. phoneWithAsterisk.append(phone.substring(endIndex, phone.length()));
  45. return phoneWithAsterisk.toString();
  46. }
  47. /**
  48. * 手机中间添加星号
  49. * @param phone
  50. * @return
  51. */
  52. public static String setAsterisk(String phone) {
  53. return setAsterisk(phone, 3, 7);
  54. }
  55. /**
  56. * 手机中间添加星号,中间六位
  57. * @param phone
  58. * @return
  59. */
  60. public static String setAsterisk2(String phone) {
  61. return setAsterisk(phone, 3, 9);
  62. }
  63. }

Java验证手机号的更多相关文章

  1. java 验证手机号是否合法

    一.通用工具类编写 /** * @project * @Description * @Author songwp * @Date 2022/9/15 17:06 * @Version 1.0.0 ** ...

  2. Java验证工具类

    在项目中使用Java经常有验证功能的使用,比如手机号,密码等验证. 总结一下,写出个工具类方便以后用的时候直接引. package com.common.utils; import org.apach ...

  3. iOS - OC/Swift:验证手机号/固话用正则表达式

    /** * 验证手机号是否正确 * @param unknown_type $mobile */ OC: - (BOOL)isMobileNumber:(NSString *)mobileNum { ...

  4. php实战正则表达式:验证手机号

    摘自http://www.tuicool.com/articles/MFNZRzu 本文通过逐步完善一个验证手机号的正则表达式来介绍了正则表达式中的 字符组 .量词 . 字符串起始/结束位置 . 分组 ...

  5. Android 正则表达式验证手机号、姓名(包含少数民族)、身份证号

    最近项目中新增的功能,需要对手机号.姓名.身份证号等一些信息进行验证,最好的方法是通过正则表达式来验证,网上查了一些资料,写了这几个工具方法. 1.验证手机号 规则:第一位只能是1,第二位为3-8中的 ...

  6. [前端] jquery验证手机号、身份证号、中文名称

    验证: 中文姓名.手机号.身份证和地址 HTML(表单): <form action=""> <div class="form-group"& ...

  7. 01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序

     1 什么是服务器 Weblogic中服务器分为两种,一种是受管服务器,另外一种是管理服务器. Weblogic课程(Weblogic是Oracle公司的,最开始的是BEA公司的) 一 系统管理 ...

  8. 1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.

    1)jquery  validate 远程验证remote,自定义验证 1-1: js <script src="YYFramework/Public/js/jquery-3.1.1. ...

  9. JS正则表达式验证手机号和邮箱

    一.验证手机号 function isPoneAvailable(poneInput) { var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test( ...

随机推荐

  1. Django-用户-组-权限

    前言 RBAC(Role-Based Access Control,基于角色的访问控制)就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角 ...

  2. NVIDIA: Failed to initialize NVML: driver/library version mismatch

    [NVIDIA驱动:Failed to initialize NVML: driver/library version mismatch] 原因:Ubuntu16.04 装新驱动时,会报以上错误,定位 ...

  3. LoRa硬件调试-前导码

    前言 已知LoRa数据包在负载之前会有一段前导码,接收端是先检测前导码,收到前导码之后才认为有数据发送过来. 那么不同的前导码的长度会有什么影响呢? 前导码长短的优劣势 - 前导码实际上是占符号的,也 ...

  4. 2019-在iOS里添加admob横幅广告示例

    下载sdk , 解压 导入项目文件夹:   在info.plist里加入应用id(不是广告单元id): GADApplicationIdentifier 设置Build Settings选项 设置ap ...

  5. MongoDB 数据库的学习与使用

    MongoDB 数据库 一.MongoDB 简介(了解) ​ MongoDB 数据库是一种 NOSQL 数据库,NOSQL 数据库不是这几年才有的,从数据库的初期发展就以及存在了 NOSQL 数据库. ...

  6. python 17 内置模块

    目录 1. 序列化模块 1.1 json 模块 1.2 pickle 模块 2. os 模块 3. sys 模块 4. hashlib 加密.摘要 4.1 加密 4.2 加盐 4.3 文件一致性校验 ...

  7. Django之静态文件,中间件,admin后台管理

    静态文件 静态文件的使用 在 网页使用的css文件,js文件和图片等叫做静态文件.1)在项目下新建静态文件夹 static. 2) 配置静态文件所在的物理目录.Settings.py STATIC_U ...

  8. unity之初级

  9. 使用mybatis-generator生成底层

    使用mybatis-generator生成底层 前言 ​ 使用springboot2,jdk1.8,idea 一.在pom引入相关依赖 <!--mybatise-generator--> ...

  10. Python从入门到精通之环境搭建

    本章内容: Windows系统环境搭建 Linux系统环境搭建 Mac OS系统环境搭建 一.下载python安装包 下载地址:https://www.python.org/downloads/ 二. ...