精华内容
下载资源
问答
  • 主要介绍了java正则表达式验证工具类,可以校验电话号码,身份证号码,日期格式,URL,email等等,需要的小伙伴参考下吧。
  • 主要介绍了Java常用正则表达式验证类,结合完整实例形式分析了Java针对邮箱、网址URL、IP地址、电话、身份证等正则验证相关操作技巧,需要的朋友可以参考下
  • java 正则表达式工具类,验证手机号码 身份证 email
  • 正则表达式 实例
  • 部分解释如下: 正则表达式的使用(本文只说有关已经使用的,其余可自行百度) (?[\\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***********258X

     

     

    id.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)的意思是后面匹配但是不保留,

    参考:https://www.geek-share.com/detail/2805593068.html

    展开全文
  • 前段时间做一个项目,需要对各种常用证件进行验证。而港澳通行证,台湾通行证,护照这些证件,在网上并没有找到做正则验证的方法。后来从脚本之家网站的代码中发现了这些验证规则,特效分享给大家,供大家参考
  • public 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;
        }
    }

     

    展开全文
  • // 原文:...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"));
        }
    }

     

     

     

     

     

     

     

     

     

     

    展开全文
  •  很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息:  1、号码的结构  公民身份...
  • Java正则表达式验证web端输入[身份证,邮箱,手机,中文字符]
  • java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。
  • 身份证,银行卡号,手机号等的正则表达式,可以限制输入框的输入类型
  • &lt;div class="iteye-blog-content-contain" style="... * 18位身份证校验,粗略的校验 * @author lyl * @param idCard * @return */ public static boolean...
  • import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args){ /** * 隐藏电话号码中间四位 * 第一种写法,String.replaceAll()方...
  • java利用正则表达式获取文本内容中的身份证号码 //导入需要的包 import sun.applet.Main; import java.util.regex.Matcher; import java.util.regex.Pattern;... //身份证号正则表达式 Pattern IdCard = Pattern.comp
  • 正则校验身份证 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...
  • * 校验器:利用正则表达式校验邮箱、手机号等 */ public class Validator { /** * 正则表达式:验证用户名 */ public static final String REGEX_USERNAME = "^[a-zA-Z0-9]{6,20}$"; /** * 正则表达式:...
  • 下面给大家介绍Java正则表达式验证固定电话号码符合性,具体代码如下所示:/*** 验证固定电话号码的合法性* @author jy*/package phone;import java.util.regex.Matcher;import java.util.regex.Pattern;public ...
  • 此工具类是之前网上找的,我在项目中就是用的这个工具类,不记得原.../*** 校验器:利用正则表达式校验邮箱、手机号等* @author Cloud**/public class Validator {/*** 正则表达式:验证用户名*/public static fin...
  • 一、任务描述西普工程师想了解正则表达式,为达到更好的对正则更深入的认知,打算利用正则表达式实现身份证信息的验证的实验,结合Python的基础知识实现并填写工作报告。二、任务目标1)熟悉Python的基本操作2)掌握...
  • Java正则表达式工具类。包含手机号、电话号码、身份证、邮箱、URL、密码、日期、IP地址、QQ号、浮点数、中文姓名、组织机构代码的正则校验。
  • JAVA正则表达式

    2017-11-28 16:09:32
    Email、电话号码、身份证号、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正则表达式大全(常用) 一、校验数字的表达式...
  • 如何用正则表达式验证身份证号

    千次阅读 2019-04-12 20:31:02
    身份证号组成: ·17位数字 + 1位校验码 ·地址码:前六位 ·出生日期码:第七位至第十位 ·顺序码:第十五位至十七位(对同年同月同日生的人便定的顺序号,顺序号奇数为男生,偶数为女生) ·检验码:第十八位(0-9 X)...
  • 做开发难免有时需要对数据进行脱敏处理,这里给出一个正则表达式做参考 public class StringTest { public static void main(String[] args) { String str="12345678901"; String regex="(.{3}).*(.{3})";// ...
  • RegexUtils Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. 身份证 10....JAVA正则表达式语法大全1
  • } // 定义判别用户身份证号的正则表达式(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 2 3 4 5 ... 20
收藏数 6,868
精华内容 2,747
关键字:

java正则表达式身份证号

java 订阅
友情链接: LCD.rar