import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
/*** 正则验证工具**/
public class RegularUtil {/*** 正则表达式:验证用户名*/public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$";/*** 正则表达式:验证密码*/public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,20}$";/*** 正则表达式:验证手机号*/public static final String REGEX_MOBILE = "^((13[0-9])|(14[0-9])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";/*** 正则表达式:验证邮箱*/public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";/*** 正则表达式:验证汉字*/public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$";/*** 正则表达式:验证身份证*/public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";/*** 正则表达式:验证URL*/public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";/*** 正则表达式:验证IP地址*/public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";/*** 校验用户名* * @param username* @return 校验通过返回true,否则返回false*/public static boolean isUsername(String username) {return Pattern.matches(REGEX_USERNAME, username);}/*** 校验密码* * @param password* @return 校验通过返回true,否则返回false*/public static boolean isPassword(String password) {return Pattern.matches(REGEX_PASSWORD, password);}/*** 校验手机号* * @param mobile* @return 校验通过返回true,否则返回false*/public static boolean isMobile(String mobile) {if(Help.isNull(mobile)){return false;}return Pattern.matches(REGEX_MOBILE, mobile);}/*** 校验邮箱* * @param email* @return 校验通过返回true,否则返回false*/public static boolean isEmail(String email) {if(Help.isNull(email)){return false;}return Pattern.matches(REGEX_EMAIL, email);}/*** 校验汉字* * @param chinese* @return 校验通过返回true,否则返回false*/public static boolean isChinese(String chinese) {return Pattern.matches(REGEX_CHINESE, chinese);}/*** 校验身份证* * @param idCard* @return 校验通过返回true,否则返回false*/public static boolean isIDCard(String idCard) {return Pattern.matches(REGEX_ID_CARD, idCard);}/*** 校验URL* * @param url* @return 校验通过返回true,否则返回false*/public static boolean isUrl(String url) {return Pattern.matches(REGEX_URL, url);}/*** 校验IP地址* * @param ipAddr* @return*/public static boolean isIPAddr(String ipAddr) {return Pattern.matches(REGEX_IP_ADDR, ipAddr);}/*** 营业执照 统一社会信用代码(18位)* @param license* @return*/public static boolean isLicense18(String businessCode) {if(Help.isNull(businessCode)) {return false;}if(businessCode.length() != 18) {return false;}String baseCode = "0123456789ABCDEFGHJKLMNPQRTUWXY";char[] baseCodeArray = baseCode.toCharArray();Map<Character, Integer> codes = new HashMap<Character, Integer>();for (int i = 0; i < baseCode.length(); i++) {codes.put(baseCodeArray[i], i);}char[] businessCodeArray = businessCode.toCharArray();Character check = businessCodeArray[17];if (baseCode.indexOf(check) == -1) {return false;}int[] wi = { 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28 };int sum = 0;for (int i = 0; i < 17; i++) {Character key = businessCodeArray[i];if (baseCode.indexOf(key) == -1) {return false;}sum += (codes.get(key) * wi[i]);}int value = 31 - sum % 31;return value == codes.get(check);}
}

【java】常用正则表达式校验,邮箱手机号等等相关推荐

  1. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年10 ...

  2. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式...

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

  3. 前端开发:使用JS正则表达式校验邮箱和手机号的方法,安卓面试题最新2020

    6.  ? 匹配前面的子表达式零次或一次: 7.  \d  匹配一个数字字符,等价于[0-9]: ( ) 标记一个子表达式的开始和结束位置: 9.  . 匹配除换行符 \n 之外的任何单字符: \ 将 ...

  4. js正则表达式校验:手机号、身份证、护照、港澳台通行证、银行卡号、车牌号等......

    js正则表达式校验:手机号.身份证.护照.港澳台通行证.银行卡号等...... 1.手机号 2.身份证号 3.护照 4.港澳台通行证.居住证 5.银行卡号 6.军官证 7.户口本 8.用户名.中文姓名 ...

  5. C#使用正则表达式校验邮箱

    在C#中,可以使用Regex正则表达式类来校验前台提交过来的邮箱字段信息是否符合要求,Regex类是C#中有关正则表达式处理的相关类,功能强大,我们只需要在实例化Regex类的时候指定相应的规则为邮箱 ...

  6. java偶校验计算代码_191120_02 Java常用加密校验转换算法汇总

    Java常用加密校验转换算法汇总 作者:邵发 官网:http://afanihao.cn/java 本文是Java学习指南系列教程的官方配套文档.内容介绍Java里的常用算法的使用,包含转换Hex / ...

  7. 正则表达式校验邮箱号、手机号、身份证号码等等

    正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的 字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地 用极简单的方式达到字符串的复杂控 ...

  8. linux邮箱格式正则表达式,【深入浅出Linux】常用正则表达式校验

    前言 使用man grep查看grep的帮助文档,有如下内容: image 可以看出,正则表达式由三类,分别是 基本的正则表达式(Basic Regular Expression 又叫 Basic R ...

  9. Java手机号码正则表达式验证,手机号段根据2020年最新号段所做参考

    最近需要实现java手机号码正则表达式验证,然而百度了一下发现结果挺多的,但是好像号段不全,基本上都是几年前的结果,大部分刚好就没我166的号段,我今天也查了一下最新的手机号段,重新写一遍(根据需求我 ...

最新文章

  1. 数字图像处理知识点总结
  2. 系统架构设计师考试知识点整理-3:信号量与PV操作
  3. 初学者成为优秀Java程序员的8个步骤
  4. IDEA安装Spring Initializer插件
  5. 基于Kubeadm的Flannel分析
  6. Thymeleaf –片段和angularjs路由器局部视图
  7. Python 分析猴子吃桃子问题!
  8. QUIC/UDT/SRT
  9. MXY---Docker
  10. 生成对抗网络,从DCGAN到StyleGAN、pixel2pixel,人脸生成和图像翻译。
  11. 地理信息安全在线培训考试系统题库-单选题
  12. android 地球仪源码,android OpenGL ES 地球仪绘制——球体绘制及纹理映射
  13. python 开发微信小游戏_教你快速开发一个微信小游戏好友排行榜
  14. rosdep update 使用小鱼fishros解决ros1/ros2问题 2022
  15. codeforces1348E Phoenix and Berries
  16. influxdb删除错误DB contains shards using both inmem and tsi1 indexes.
  17. 攻防世界pwn新手区整理
  18. 网页版电子表格控件tmlxSpreadsheet免费下载地址
  19. win11新版本微信消息不闪烁/提示问题
  20. lg的48分之4怎么用计算机算,E算量软件使用教程(48页)-原创力文档

热门文章

  1. badger (一个高性能的LSM K/V store)使用指南
  2. 妙用动态散点图,精确计算盈亏平衡点[zz]
  3. (二)Jetson Agx Xavier can使用
  4. html 禁止选择与复制,禁止图片拖拽
  5. Winform/C#入门编程之第二部分常用控件(三:组合框控件ComboBox)
  6. Loadrunner Vuser 一直pending另一种解决思路
  7. STM8 ADC转换模式-------连续扫描模式
  8. 【别人的原创】上点、离点、内点
  9. 我国地级市二氧化碳排放数据(gis\excel格式)
  10. ctfshow BJDCTF2020 encode wp