验证手机号 身份证号 邮箱号

2023-10-30

public class ValidateUtil {
   
   /**
    * 验证手机号格式是否正确
    * @param phone
    * @return
    */
   public static boolean isMobilePhone(String phone){
      if (StringUtils.isBlank(phone)) {
         return false;
      }
      if (isChinaPhoneLegal(phone)){
         return true;
      }else {
         return false;
      }
   }
   /**
    * 验证身份证号码格式
    * @return
    */
   public static boolean isCard(String idNo){ 
      Pattern p2 = Pattern.compile("(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)");
      System.out.println(p2.matcher(idNo).matches());
      return p2.matcher(idNo).matches();
   }

   public static boolean isnull(String str){
      if(str==null){
         return true;
      }
      if(str=="" || str.length()==0){
         return true;
      }
      return false;
   }
   /**
    * 大陆手机号码11位数,匹配格式:前三位固定格式+8位任意数
    * 此方法中前三位格式有:
    * 13+任意数
    * 15+4的任意数
    * 18+任意数
    * 17+任意数
    * 147
    */
   public static boolean isChinaPhoneLegal(String str) throws PatternSyntaxException {
      String regExp = "^((13[0-9])|(15[^4])|(18[0-9])|(17[0-9])|(147))\\d{8}$";
      Pattern p = Pattern.compile(regExp);
      Matcher m = p.matcher(str);
      return m.matches();
   }

   public static boolean isUrl(String url){
      String regExp = "^(http|https|ftp)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]";
      Pattern p = Pattern.compile(regExp);
      Matcher m = p.matcher(url);
      return m.matches();
   }

   public static boolean isEmail(String email){
      String regExp = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
      Pattern p = Pattern.compile(regExp);
      Matcher m = p.matcher(email);
      return m.matches();
   }

   public static boolean isChineseName(String name){
      String regExp = "^[\\u4e00-\\u9fa5]+(·[\\u4e00-\\u9fa5]+)*$";
      Pattern p = Pattern.compile(regExp);
      Matcher m = p.matcher(name);
      return m.matches();
   }
}



可以互相交流: wsl1992null


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证手机号 身份证号 邮箱号 的相关文章

随机推荐

  • hp n54l 网站服务器,HP N40L/HP N54L 刷DSM 4.1指南

    HP N40L 54L是HP自己的低端SERVER 用的是AMD TURION NEO II的CPU 从跑分来看 比SYNO家用或小企业系列里用的最新的D2700还好些 这个平时350米刀左右 但是有时候有DEAL的时候 250就可以拿下
  • java怎么编程安卓软件

    前言 今天逛论坛 看到了一位35岁的老程序员发的博文 看完内容后我又活了 35岁挑战华为社招 竟然凭实力在半个月内经历4轮面试后成功拿到了offer 不得不佩服这位大哥 35岁还这么强我们这些后辈还怕啥 当然重要的是这位程序员大佬最后总结的
  • 使用Python,dlib进行对象实时追踪

    这篇博客将介绍如何使用Python dlib执行对象跟踪 即通过dlib的相关跟踪器来实时跟踪视频流中的对象 与July的质心跟踪 Centroid Tracking 不同 dlib的对象跟踪算法可以利用从输入RGB图像收集的信息进行自我更
  • Java学习(超详细)三(循环结构+debug调试)

    目录 1 循环缘由与定义 1 1循环缘由 1 2循环定义 2 while循环结构 2 1 while循环语法 2 2 while循环实战 3 调试程序 3 1为什么需要程序调试 3 2什么是程序调试 3 3程序调试步骤 3 4程序 实战 调
  • Qt工程中如何添加.pri文件

    pri文件中的i 是包含 include 的首字母 类似于C C 中的头文件就是我们可以把 pro 文件内需要include的一部分或者多个工程相同的部分单独放到一个 pri 文件内 然后包含到工程的pro文件中 这种pri文件十分适合多子
  • Ubuntu 18.04 安装 PyCharm

    1 下载PyCharm安装包 1 进入PyCharm官网 选择Professional专业版 直接点击DOWNLOAD 如图1 2 进入跳转页面 出现提示框 点savefile 开始下载 3 下载完成后 安装包在Downloads文件夹下
  • Web安全公开课-XSS-前端基础

    这节课分两个部分讲 1 HTML概述 2 javascript概述 什么是HTML呢 HTML是种超文本标记语言 英文名字叫 HyperText Markup Language 超级文本标记语言是 种规范 也是一种标准 它通过标记符号来标
  • 2.微服务项目实战---环境搭建,实现电商中商品、订单、用户

    使用的电商项目中的商品 订单 用户为案例进行讲解 2 1 案例准备 2 1 1 技术选型 maven 3 3 9 数据库 MySQL 5 7 持久层 SpingData Jpa 其他 SpringCloud Alibaba 技术栈 2 1
  • H.264 和 MPEG-4 基础

    H 264 和 MPEG 4 的关系 H 264 AVC Advanced Video Coding 标准 是 MPEG 4 的第 10 部分 MPEG 4的初衷是将DVD质量的图像码流从每秒6兆降低到1 5兆 将高清电视的码流从每秒几十兆
  • 圆周率π的取值

    const double pi acos 1 0 头文件是
  • react 接口调用

    这是你定义好的页面 在你需要调用接口的页面先引入你写好的界面 页面 去你写好的页面里找movieseatmodel 后面的名字 seat就是你要找的名字 api seat是你写好的接口 seat response是你下
  • awk '{print $2}' 这个命令

    2 表示第二个字段 print 2 打印第二个字段 awk print 2 fileName 一行一行的读取指定的文件 以空格作为分隔符 打印第二个字段 比如有个文件是testAWK txt 文件内容如下 11 22 33 44 55 66
  • Java I/O流实现文件复制

    Java I O流实现文件复制 1 文件复制原理 2 文件遍历算法 1 算法分析 2 算法源码 3 文件复制算法 1 算法分析 2 算法源码 1 文件复制原理 文件的类型有很多 从层次上分 有目录 即文件夹 与普通文件 从内容上分 有文本
  • virtualenv 设置python3环境简明教程

    一开始直接用的是python3环境 而没有安装virtualenv进行不同的python环境版本控制 一 为什么用到virtualenv centos7默认的python版本是2 7的 想在其上做python3的开发会遇到问题 比如要使用p
  • ibm服务器usb虚拟网卡,山石虚拟防火墙安装步骤

    山石虚拟防火墙 可以安装在vmware workstation上 非常适合动手操作实践 做实验等 非常好用 前提也非常容易 电脑支持64位 内存最小4G 山石虚拟防火墙桥接在物理网卡上 虚拟机和虚拟防火墙内网口都桥接在虚拟网卡上 步骤大概如
  • Differences between Thumb and ARM instruction sets

    本文转载至 http infocenter arm com help index jsp topic com arm doc dui0068b ch02s02s09 html The general differences between
  • 动态规划-最大子数组

    题目 给定一个整数数组 找出和最大的子数组 返回其和 例如 1 2 3 5 1 2 最大子数组 3 5 1 2 和为9 分析 利用动态规划 记Sum i 表示以A i 结尾的子数组中的和最大子数组 Sum i 1 呢 考虑Sum i 的情况
  • c++智能指针

    我们在编写c 程序时经常会面临内存泄漏的问题 例如 void f int p new int throw unknow exception delete p 在这个简单的函数中 我们申请了一块内存 但是因为抛出异常跳出函数执行catch函数
  • linux dc命令,Linux中dc命令起什么作用呢?

    摘要 下文讲述Linux中dc的功能说明 如下所示 dc命令是Linux下一个任意精度的计算器 dc命令功能 用于计算操作 dc命令注意事项 1 dc命令支持无限精度运算 2 dc命令可定义及调用宏 3 dc命令可从界面读取数据 也可从指定
  • 验证手机号 身份证号 邮箱号

    public class ValidateUtil 验证手机号格式是否正确 param phone return public static boolean isMobilePhone String phone if StringUtils