一、通用工具类编写

/**
* @project
* @Description
* @Author songwp
* @Date 2022/9/15 17:06
* @Version 1.0.0
**/
public class PhoneUtil { /**
* 验证手机号是否合法
* @return
*/
public static boolean isMobileNum(String mobile){
if (mobile.length() != 11) {
return false;
}else{
/**
* 移动号段正则表达式
*/
String pat1 = "^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
/**
* 联通号段正则表达式
*/
String pat2 = "^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
/**
* 电信号段正则表达式
*/
String pat3 = "^((133)|(153)|(177)|(18[0,1,9])|(149))\\d{8}$";
/**
* 虚拟运营商正则表达式
*/
String pat4 = "^((170))\\d{8}|(1718)|(1719)\\d{7}$"; Pattern pattern1 = Pattern.compile(pat1);
Matcher match1 = pattern1.matcher(mobile);
boolean isMatch1 = match1.matches();
if(isMatch1){
return true;
}
Pattern pattern2 = Pattern.compile(pat2);
Matcher match2 = pattern2.matcher(mobile);
boolean isMatch2 = match2.matches();
if(isMatch2){
return true;
}
Pattern pattern3 = Pattern.compile(pat3);
Matcher match3 = pattern3.matcher(mobile);
boolean isMatch3 = match3.matches();
if(isMatch3){
return true;
}
Pattern pattern4 = Pattern.compile(pat4);
Matcher match4 = pattern4.matcher(mobile);
boolean isMatch4 = match4.matches();
if(isMatch4){
return true;
}
return false;
}
}
}

二、方法调用测试

public static void main(String[] args) {
boolean mobileNum = isMobileNum("18740458584");
System.out.println("验证自己的手机号是否合法:"+mobileNum); boolean mobileNum1 = isMobileNum("1554");
System.out.println("验证少于11位数字通过验证是否合法:"+mobileNum1); boolean mobileNum2 = isMobileNum("1554AAAAAAAAAA");
System.out.println("验证大于11位数字且含字母通过验证是否合法:"+mobileNum2);
}

输出如下:

验证自己的手机号是否合法:true
验证少于11位数字通过验证是否合法:false
验证大于11位数字且含字母通过验证是否合法:false

java 验证手机号是否合法的更多相关文章

  1. Android中利用正则表达式验证手机号是否合法

    利用正则表达式来验证手机号是否合法,现在我们简单使用一下,这个在实际的应用中很实用. 例:在输入框中输入手机号,判断是否合法, MainActivity中: package com.example.m ...

  2. java验证手机号码是否合法

    公司开发新功能须要验证手机号码,遂自己写了个出来,暂仅仅支持中国大陆手机号验证.如有不妥之处,还望大家指教,感激不尽! /** * 验证是否是正确合法的手机号码 * * @param telephon ...

  3. Java验证身份证是否合法

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; im ...

  4. YII2.0 表单验证手机号是否合法且唯一

    [['phone'], 'unique'], ['phone','match','pattern'=>'/^1[345678]{1}\d{9}$/','message'=>'{attrib ...

  5. php验证手机号是否合法

    用正则匹配手机号码的时候, 我们先分析一下手机号码的规律: 1. 手机号通常是11位的 2. 经常是1开头 3. 第二个数字通常是34578这几个数字, 2014.5.5日170号段的手机号开卖所以这 ...

  6. Java验证手机号

    在实际开发中我们需要对手机号格式校验,以下是对中国手机号校验的实现. public class PhoneUtils { /** * 中国手机号码 */ private static Pattern ...

  7. java用正则方法验证文件名是否合法

    Java中用到文件操作时,经常要验证文件名是否合法. 用File类的createNewFile()方法的确很管用.但当要批量验证时,效率上就会有问题.正则匹配的开销比创建文件少了很多. 那么一个合法的 ...

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

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

  9. Java验证工具类

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

随机推荐

  1. 面向对象的封装(粘贴Markdown代码解决缩进问题)

    直接粘贴idea的代码会导致缩进错乱,建议先粘贴到记事本再粘贴到笔记!!! 1.先将属性私有化,再对外提供简单的接口可以访问内部.如set.get方法 2.set方法:修改年龄 public void ...

  2. mysql密码忘记了重置方法

    #先把mysql停止 service mysqld stop #安全模式进入mysql,并且跳过授权表 mysqld_safe --skip-grant-tables & #如果上面这个命令报 ...

  3. NTT 学习笔记

    引入 \(\tt NTT\) 和 \(\tt FFT\) 有什么不一样呢? 就是 \(\tt NTT\) 是可以用来取模的,而且没有复数带来的精度误差. 最最重要的是据说 \(\tt NTT\) 常数 ...

  4. 深度学习基础-基于Numpy的多层前馈神经网络(FFN)的构建和反向传播训练

    本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及花书的读书笔记.本文将以多分类任务为例,介绍多层的前馈神经网络(Feed Forward Networks,FFN)加上 ...

  5. Tapdata Cloud 2.1.5来啦:新增支持Amazon RDS数据库,错误日志查询更便捷,Agent部署细节再优化

      需求持续更新,优化一刻不停--Tapdata Cloud 2.1.5 来啦!   最新发布的版本中,数据连接再上新,同时新增任务报错相关信息快速查询入口,开始支持 JVM 参数自定义设置.   更 ...

  6. Spring和SpringMVC整合及关系

    SpringMVC扼要的讲,就是控制请求和处理.有必要将Spring和SpringMVC整合,否则仅配置SpringMVC并完成Spring的功能,会造成业务逻辑混乱. 简要总结:①原理:采用监听器, ...

  7. PostgreSQL的查询技巧: 零除, GENERATED STORED, COUNT DISTINCT, JOIN和数组LIKE

    零除的处理 用NULLIF(col, 0)可以避免复杂的WHEN...CASE判断, 例如 ROUND(COUNT(view_50.amount_in)::NUMERIC / NULLIF(COUNT ...

  8. day10 Map_查找与遍历

    Map 查找表 Map体现的结构是一个多行两列的表格,其中左列称为key,右列称为value. Map总是成对保存数据,并且总是根据key获取对应的value.因此我们可以将查询的条件作为key查询对 ...

  9. day06 Socket_线程API_线程并发安全

    使用多线程实现多客户端连接服务端 流程图 服务端代码改造: package socket; import java.io.BufferedReader; import java.io.IOExcept ...

  10. 000Java_Java_历史

    1. Java历史 程序:有序指令的集合 1995年--Java.1版本 Java之父--Gosling Java特点 面向对象 健壮 (强类型机制异常处理垃圾的自动回收) 跨平台性[一个编译好的.c ...