-
java正则表达式验证工具类
2020-09-03 21:57:13主要介绍了java正则表达式验证工具类,可以校验电话号码,身份证号码,日期格式,URL,email等等,需要的小伙伴参考下吧。 -
Java常用正则表达式验证类完整实例【邮箱、URL、IP、电话、身份证等】
2020-08-26 14:57:49主要介绍了Java常用正则表达式验证类,结合完整实例形式分析了Java针对邮箱、网址URL、IP地址、电话、身份证等正则验证相关操作技巧,需要的朋友可以参考下 -
java 正则表达式工具类,验证手机号码 身份证 email 全
2012-02-22 14:49:14java 正则表达式工具类,验证手机号码 身份证 email -
java正则表达式实例(邮箱,车牌,密码,url,IP,身份证,车牌等等)
2017-08-10 08:52:58正则表达式 实例 -
Java 正则表达式 手机号 身份证号脱敏
2020-12-24 15:07:58部分解释如下: 正则表达式的使用(本文只说有关已经使用的,其余可自行百度) (?[\\w]{3})\\w(?=[\\w]{4}) 划分为三个部分1.(?[\\w]{3}) 2.\\w 3.(?=[\\w]{4}) 整体意思就是:匹配到内容是 除了前3个和后4个...展开全文// 手机号码前三后四脱敏 public static String mobileEncrypt(String mobile) { if (StringUtils.isEmpty(mobile) || (mobile.length() != 11)) { return mobile; } return mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); } //身份证前三后四脱敏 public static String idEncrypt(String id) { if (StringUtils.isEmpty(id) || (id.length() < 8)) { return id; } return id.replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*"); }public static void main(String[] args) { System.out.println(CommonUtil.mobileEncrypt("13100002222")); System.out.println(CommonUtil.hideIdNumber("34082319940228258X")); System.out.println(CommonUtil.idEncrypt("34082319940228258X")); }上面main执行结果:
131****2222
3****************X
340***********258Xid.replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*"); 部分解释如下:
- 正则表达式的使用(本文只说有关已经使用的,其余可自行百度)
- (?<=[\\w]{3})\\w(?=[\\w]{4})
- 划分为三个部分1.(?<=[\\w]{3}) 2.\\w 3.(?=[\\w]{4})
- 整体意思就是:匹配到内容是 除了前3个和后4个 剩下的内容。
- (加上replaceAll函数,就是 除了前3个和后4个 剩下的内容 全部替换为 * ).
- 1. \w表示匹配字母、数字、下划线
- 2. 为什么上面都是用双\\呢,因为在java代码中,需要加个\进行转义,而本身就是 \w为一个整体代码相应内容,加起来就是两个\\。
- 3. [\\w]{3}的意思是 匹配三个相应(字母或者数字或者下划线)的内容。
- 4. 同理,[\\w]{4}的意思是 匹配4个相应的内容。
- 5. (?<=xxxx)的意思是前面匹配但是不保留,比如:Hello world (?<=H)则匹配到的内容是 ello world 不保留H,
- 6. 在第五点中,如果改成 (?<=H).{3} 则匹配到的内容是 ell,即{3}代表个数。
- 7. 整体(?<=[\\w]{3})就是代表 匹配除了前3个字母或者数字或者下划线的内容。
- 8. (?=[\\w]{4})就是代表 匹配除了后4个字母或者数字或者下划线的内容。
- 9. (?=xxxx)的意思是后面匹配但是不保留,
-
常用证件号码的正则表达式大全(收集整理)
2020-10-20 03:32:07前段时间做一个项目,需要对各种常用证件进行验证。而港澳通行证,台湾通行证,护照这些证件,在网上并没有找到做正则验证的方法。后来从脚本之家网站的代码中发现了这些验证规则,特效分享给大家,供大家参考 -
JAVA 正则表达式校验身份证号码,亲测可用
2019-07-01 15:02:47public static boolean isIDNumber(String IDNumber) { if (IDNumber == null || "".equals(IDNumber)) { return false;... // 定义判别用户身份证号的正则表达式(15位或者18位,最后一位可以为字母) ...展开全文public static boolean isIDNumber(String IDNumber) { if (IDNumber == null || "".equals(IDNumber)) { return false; } // 定义判别用户身份证号的正则表达式(15位或者18位,最后一位可以为字母) String regularExpression = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|" + "(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)"; boolean matches = IDNumber.matches(regularExpression); // 判断第18位校验值 if (matches) { if (IDNumber.length() == 18) { try { char[] charArray = IDNumber.toCharArray(); // 前十七位加权因子 int[] idCardWi = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; // 这是除以11后,可能产生的11位余数对应的验证码 String[] idCardY = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"}; int sum = 0; for (int i = 0; i < idCardWi.length; i++) { int current = Integer.parseInt(String.valueOf(charArray[i])); int count = current * idCardWi[i]; sum += count; } char idCardLast = charArray[17]; int idCardMod = sum % 11; if (idCardY[idCardMod].toUpperCase() .equals(String.valueOf(idCardLast).toUpperCase())) { return true; } else { System.out.println("身份证最后一位:" + String.valueOf(idCardLast).toUpperCase() + "错误,正确的应该是:" + idCardY[idCardMod].toUpperCase()); return false; } } catch (Exception e) { e.printStackTrace(); return false; } } else { return false; } } return matches; }
-
java 身份证号码正则表达式校验
2020-12-04 15:34:22/** * 身份证号码验证 */ public class IdentityUtils { public static boolean isIDNumber(String IDNumber) { ... // 定义判别用户身份证号的正则表达式(15位或者18位,最后一位可以为字母) Stri.展开全文/** * 身份证号码验证 */ public class IdentityUtils { public static boolean isIDNumber(String IDNumber) { if (IDNumber == null || "".equals(IDNumber)) { return false; } // 定义判别用户身份证号的正则表达式(15位或者18位,最后一位可以为字母) String regularExpression = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|" + "(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)"; //假设18位身份证号码:41000119910101123X 410001 19910101 123X //^开头 //[1-9] 第一位1-9中的一个 4 //\\d{5} 五位数字 10001(前六位省市县地区) //(18|19|20) 19(现阶段可能取值范围18xx-20xx年) //\\d{2} 91(年份) //((0[1-9])|(10|11|12)) 01(月份) //(([0-2][1-9])|10|20|30|31)01(日期) //\\d{3} 三位数字 123(第十七位奇数代表男,偶数代表女) //[0-9Xx] 0123456789Xx其中的一个 X(第十八位为校验值) //$结尾 //假设15位身份证号码:410001910101123 410001 910101 123 //^开头 //[1-9] 第一位1-9中的一个 4 //\\d{5} 五位数字 10001(前六位省市县地区) //\\d{2} 91(年份) //((0[1-9])|(10|11|12)) 01(月份) //(([0-2][1-9])|10|20|30|31)01(日期) //\\d{3} 三位数字 123(第十五位奇数代表男,偶数代表女),15位身份证不含X //$结尾 boolean matches = IDNumber.matches(regularExpression); //判断第18位校验值 if (matches) { if (IDNumber.length() == 18) { try { char[] charArray = IDNumber.toCharArray(); //前十七位加权因子 int[] idCardWi = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; //这是除以11后,可能产生的11位余数对应的验证码 String[] idCardY = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"}; int sum = 0; for (int i = 0; i < idCardWi.length; i++) { int current = Integer.parseInt(String.valueOf(charArray[i])); int count = current * idCardWi[i]; sum += count; } char idCardLast = charArray[17]; int idCardMod = sum % 11; if (idCardY[idCardMod].toUpperCase().equals(String.valueOf(idCardLast).toUpperCase())) { return true; } else { return false; } } catch (Exception e) { e.printStackTrace(); return false; } } } return matches; } }
-
java身份证号码正则表达式校验(亲测可用) Java正则校验手机号
2020-09-10 11:28:11// 原文:...public class IDUtils { public static boolean isIDNumber(String IDNumber) { if (IDNumber == null || "".equals(IDNumber)) { return false; } // 定义判别用户身份证号的...展开全文java身份证号码正则表达式校验(亲测可用)
// 原文:https://blog.csdn.net/u011106915/article/details/76066985
public class IDUtils {
public static boolean isIDNumber(String IDNumber) {
if (IDNumber == null || "".equals(IDNumber)) {
return false;
}
// 定义判别用户身份证号的正则表达式(15位或者18位,最后一位可以为字母)
String regularExpression = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|" +
"(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)";
//假设18位身份证号码:41000119910101123X 410001 19910101 123X
//^开头
//[1-9] 第一位1-9中的一个 4
//\\d{5} 五位数字 10001(前六位省市县地区)
//(18|19|20) 19(现阶段可能取值范围18xx-20xx年)
//\\d{2} 91(年份)
//((0[1-9])|(10|11|12)) 01(月份)
//(([0-2][1-9])|10|20|30|31)01(日期)
//\\d{3} 三位数字 123(第十七位奇数代表男,偶数代表女)
//[0-9Xx] 0123456789Xx其中的一个 X(第十八位为校验值)
//$结尾
//假设15位身份证号码:410001910101123 410001 910101 123
//^开头
//[1-9] 第一位1-9中的一个 4
//\\d{5} 五位数字 10001(前六位省市县地区)
//\\d{2} 91(年份)
//((0[1-9])|(10|11|12)) 01(月份)
//(([0-2][1-9])|10|20|30|31)01(日期)
//\\d{3} 三位数字 123(第十五位奇数代表男,偶数代表女),15位身份证不含X
//$结尾
boolean matches = IDNumber.matches(regularExpression);
//判断第18位校验值
if (matches) {
if (IDNumber.length() == 18) {
try {
char[] charArray = IDNumber.toCharArray();
//前十七位加权因子
int[] idCardWi = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
//这是除以11后,可能产生的11位余数对应的验证码
String[] idCardY = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
int sum = 0;
for (int i = 0; i < idCardWi.length; i++) {
int current = Integer.parseInt(String.valueOf(charArray[i]));
int count = current * idCardWi[i];
sum += count;
}
char idCardLast = charArray[17];
int idCardMod = sum % 11;
if (idCardY[idCardMod].toUpperCase().equals(String.valueOf(idCardLast).toUpperCase())) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
return matches;
}
}https://blog.csdn.net/huangdingsheng/article/details/94469497
Java正则校验手机号
package com.app.main.utils;
import java.util.regex.Pattern;
/**
* Created with IDEA
* author:Dingsheng Huang
* Date:2019/7/2
* Time:下午6:51
*/
public class RegexUtils {
/**
* 正则:手机号(简单), 1字头+10位数字即可.
* @param in
* @return
*/
public static boolean validateMobilePhone(String in) {
Pattern pattern = Pattern.compile("^[1]\\d{10}$");
return pattern.matcher(in).matches();
}
public static void main(String[] args) {
System.out.println(validateMobilePhone("17778014396"));
System.out.println(validateMobilePhone("123"));
}
}
-
如何用javascript正则表达式验证身份证号码是否合法
2020-12-13 05:53:14很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息: 1、号码的结构 公民身份... -
Java正则表达式验证web端输入[身份证,邮箱,手机,中文字符]
2013-02-20 23:23:19Java正则表达式验证web端输入[身份证,邮箱,手机,中文字符] -
java 正则表达式工具类,手机号码等
2012-02-01 16:33:19java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。 -
身份证,银行卡号,手机号的正则表达式
2015-08-14 14:57:36身份证,银行卡号,手机号等的正则表达式,可以限制输入框的输入类型 -
身份证号java正则表达式验证
2016-01-02 14:04:12<div class="iteye-blog-content-contain" style="... * 18位身份证校验,粗略的校验 * @author lyl * @param idCard * @return */ public static boolean... -
java正则表达式将手机号/身份证(*)加密隐藏中间某几位
2020-03-05 18:24:27import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args){ /** * 隐藏电话号码中间四位 * 第一种写法,String.replaceAll()方... -
java利用正则表达式获取文本内容中的身份证号码
2021-09-27 10:08:52java利用正则表达式获取文本内容中的身份证号码 //导入需要的包 import sun.applet.Main; import java.util.regex.Matcher; import java.util.regex.Pattern;... //身份证号正则表达式 Pattern IdCard = Pattern.comp -
java常用的正则表达式验证,以及使用正则过滤特殊字符,正则校验身份证
2020-07-27 16:19:00正则校验身份证 18位身份证的简单校验 Pattern pattern1 = Pattern.compile("^(\\d{6})(19|20)(\\d{2})(1[0-2]|0[1-9])(0[1-9]|[1-2][0-9]|3[0-1])(\\d{3})(\\d|X|x)?$"); //粗略的校验 Matcher matcher = pattern1... -
Java正则表达式验证固定电话号码符合性
2021-02-12 16:22:02下面给大家介绍Java正则表达式验证固定电话号码符合性,具体代码如下所示:/*** 验证固定电话号码的合法性* @author jy*/package phone;import java.util.regex.Matcher;import java.util.regex.Pattern;public ... -
Java 正则表达式数据校验
2020-12-23 01:08:40此工具类是之前网上找的,我在项目中就是用的这个工具类,不记得原.../*** 校验器:利用正则表达式校验邮箱、手机号等* @author Cloud**/public class Validator {/*** 正则表达式:验证用户名*/public static fin... -
正则表达式实现身份证信息验证
2020-12-20 22:07:32一、任务描述西普工程师想了解正则表达式,为达到更好的对正则更深入的认知,打算利用正则表达式实现身份证信息的验证的实验,结合Python的基础知识实现并填写工作报告。二、任务目标1)熟悉Python的基本操作2)掌握... -
Java常用的一些正则表达式
2018-02-04 19:39:21Java正则表达式工具类。包含手机号、电话号码、身份证、邮箱、URL、密码、日期、IP地址、QQ号、浮点数、中文姓名、组织机构代码的正则校验。 -
JAVA正则表达式
2017-11-28 16:09:32Email、电话号码、身份证号、IP、域名、电子邮箱、中文名字 -
Java 正则表达式
2021-03-03 00:07:37\d) (中国邮政编码为6位数字) 腾讯QQ号 [1-9][0-9]{4,} (腾讯QQ号从10000开始) IP地址 \d+.\d+.\d+.\d+ (提取IP地址时有用) 中文字符的正则表达式 [\u4e00-\u9fa5] java正则表达式大全(常用) 一、校验数字的表达式... -
Java 正则表达式对用户名、手机号、邮箱等验证
2021-12-16 10:29:49* 校验器:利用正则表达式校验邮箱、手机号等 */ public class Validator { /** * 正则表达式:验证用户名 */ public static final String REGEX_USERNAME = "^[a-zA-Z0-9]{6,20}$"; /** * 正则表达式:... -
如何用正则表达式验证身份证号
2019-04-12 20:31:02身份证号组成: ·17位数字 + 1位校验码 ·地址码:前六位 ·出生日期码:第七位至第十位 ·顺序码:第十五位至十七位(对同年同月同日生的人便定的顺序号,顺序号奇数为男生,偶数为女生) ·检验码:第十八位(0-9 X)... -
Java 正则表达式对数据脱敏处理
2021-06-24 10:45:05做开发难免有时需要对数据进行脱敏处理,这里给出一个正则表达式做参考 public class StringTest { public static void main(String[] args) { String str="12345678901"; String regex="(.{3}).*(.{3})";// ... -
RegexUtils:Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。 1. 电话号码 2. 邮编 3. QQ 4...
2021-05-15 22:04:39RegexUtils Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. 身份证 10....JAVA正则表达式语法大全1 -
java正则表达式校验:身份证,数字提取
2019-05-27 18:05:44} // 定义判别用户身份证号的正则表达式(15位或者18位,最后一位可以为字母) String regularExpression = "(^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|" + ...