各种常用格式校验方法(身份证号格式校验、手机号格式校验、车牌号格式校验...)正则表达式

news/2024/8/22 16:11:50 标签: java, 开发语言

1、手机号格式校验(1)

java">    /**
     * 手机号码-合法性-正则校验
     * @param phoneNumber
     * @return
     */
    public static boolean isValidatePhoneNumber(String phoneNumber) {
        Pattern pattern = Pattern.compile("^[1][3-9]\\d{9}$");
        Matcher matcher = pattern.matcher(phoneNumber);
        return matcher.matches();
    }

2、手机号格式校验(2)包含座机及外国电话

java">    /**
     * 包含座机及外国电话
     * @param phoneNumber
     * @return
     */
    public static boolean validatePhoneNumber(String phoneNumber){
        String regex = "^1[3-9]\\d{9}$|" +
                "^1[3-9]\\d{1}[-\\s]\\d{4}[-\\s]\\d{4}$|" +
                "^\\(1[3-9]\\d{1}\\)\\d{4}-\\d{4}$|" +
                "^(?:\\(\\+\\d{2}\\)|\\+\\d{2})(\\d{11})$|" +
                "^0\\d{3}-\\d{7}$|" +
                "^0\\d{2}-\\d{8}$";
        Pattern pattern = Pattern.compile(regex);
        return pattern.matcher(phoneNumber).matches();
    }

3、身份证号格式校验

java">    public static boolean validateIdentityNo(String identityNo) {
        String regex = "^\\d{17}[\\d|x|X]$";
        Pattern pattern = Pattern.compile(regex);
        return pattern.matcher(identityNo).matches();
    }

4、车牌号格式校验,包含新能源

java">    /**
     * 包含新能源
     * @param carNumber
     * @return
     */
    public static boolean validateCarNumber(String carNumber){
        if (carNumber.length() >= 7 && carNumber.length() <= 8){
            Pattern p = Pattern.compile("^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[a-zA-Z](([ABCDF]((?![IO])[a-zA-Z0-9](?![IO]))[0-9]{4})|([0-9]{5}[ABCDF]))|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$");
            Matcher m = p.matcher(carNumber);
            return m.matches();
        }else{
            return false;
        }
    }

5、邮箱格式校验

java">public static boolean validateEmail(String email) {
        int k = 0;
        if(email == null) {
            return false;
        }
         /*
          * 单引号引的数据 是char类型的
                                    双引号引的数据 是String类型的
                                    单引号只能引一个字符
                                    而双引号可以引0个及其以上*
          */

        //判断是否有仅有一个@且不能在开头或结尾
        if(email.indexOf("@") > 0 && email.indexOf('@') == email.lastIndexOf('@') && email.indexOf('@') < email.length()-1) {
            k++;
        }

        //判断"@"之后必须有"."且不能紧跟
        if(email.indexOf('.',email.indexOf('@')) > email.indexOf('@')+1 ) {
            k++;
        }
        //判断"@"之前或之后不能紧跟"."
        if(email.indexOf('.') < email.indexOf('@')-1 || email.indexOf('.') > email.indexOf('@')+1 ) {
            k++;
        }
        //@之前要有5个字符
        if(email.indexOf('@') > 4 ) {
            k++;
        }

        if(email.endsWith("com") || email.endsWith("org") || email.endsWith("cn") ||email.endsWith("net")) {
            k++;
        }
        return k == 5;
    }

6、校验字符串是否符合年月yyyyMM时间格式

java">    /**
     * 校验字符串是否符合yyyyMM时间格式
     * @param dateStr
     * @return
     */
    public static boolean isDateFormatValid(String dateStr){
        String regex = "^(\\d{4})(0[1-9]|1[0-2])$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(dateStr);
        return matcher.matches();
    }

7、校验字符串是否符合年月日yyyyMMdd时间格式

java">    /**
     * 校验字符串是否符合yyyyMMdd格式
     * @param dateStr
     * @return
     */
    public static boolean isDateFormatValid(String dateStr){
        String dateFormat = "yyyyMMdd";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
        simpleDateFormat.setLenient(false);
        try{
            simpleDateFormat.parse(dateStr);
            return true;
        }catch (ParseException e){
            return false;
        }
    }


http://www.niftyadmin.cn/n/5556426.html

相关文章

C#中错误与异常处理

1、错误和异常 如果程序运行期间发生错误&#xff0c;异常就会发生。异常会中止当前的程序流&#xff0c;如果不采取措施&#xff0c;程序将停止运行。 错误和异常是两个不同的概念&#xff0c;但它们都与程序的稳定性和可维护性有关。 1.1、错误 错误通常是指编译时的语法错误…

微服务节流控制:Eureka中服务速率限制的精妙配置

微服务节流控制&#xff1a;Eureka中服务速率限制的精妙配置 在微服务架构中&#xff0c;服务的可用性和稳定性对于整个系统的性能至关重要。Eureka作为Netflix开源的服务发现框架&#xff0c;虽然主要用于服务注册与发现&#xff0c;但合理地配置服务的速率限制也是确保服务健…

什么样的服务器是合乎直销网站标准

现在社会的发展,有着越来越多的人想要利用互联网来做直销。做好直销行业系统解决方案离不开好的服务器支持,服务器的的稳定性和速度是直接影响网站后期运作,可以看做是网站的根基。 做网站直销选择租用服务器需要注意的几点要素 一些大的直销互联网公司如安利、雅芳、康宝莱、玫…

构建加速器:在Gradle中利用构建缓存提升性能

构建加速器&#xff1a;在Gradle中利用构建缓存提升性能 Gradle作为当今流行的构建工具&#xff0c;提供了多种方式来优化构建速度和效率。其中&#xff0c;Gradle构建缓存是一项强大的功能&#xff0c;它允许重用先前构建的输出&#xff0c;从而显著减少构建时间。本文将深入…

[计网初识2]web的3个核心标准html,url,http

学习内容 HTML,URL,HTTP的构成 1.规范web的3个核心标准&#xff1f; HTML(Hyper Text Markup Language),规范网页内容和版面布局的表示标准。URL(Uniform Resource Locator)&#xff0c;规范网页识别符格式和含义的表示标准。HTTP(HyperText Transfer Protocl),规范游览器如…

HTML-VUE页面调用android 客户端网络请求并返回数据

在Html-- Vue页面调用Android客户端网络请求并返回数据&#xff0c;通常需要通过WebView与Android客户端的JavaScript接口进行交互。以下是一个简化的示例&#xff1a; 在Android端&#xff0c;创建一个JavaScript接口&#xff1a; public class WebAppInterface {Context mC…

ARM功耗管理之睡眠锁

安全之安全(security)博客目录导读 思考&#xff1a;什么是睡眠锁&#xff1f;什么是唤醒源&#xff1f;什么是组合唤醒源&#xff1f; Kernel wakelocks的功能&#xff1a; 1&#xff09;允许driver创建wakelock以阻止睡眠、注销wakelock以允许睡眠。 2&#xff09;wake_lo…

【实战场景】MongoDB迁移的那些事

【实战场景】MongoDB迁移的那些事 开篇词&#xff1a;干货篇【MongoDB迁移的方法】&#xff1a;1. 基于mongodump和mongorestore的迁移一、迁移前准备二、使用mongodump备份数据三、使用mongorestore还原数据四、注意事项 2. 基于MongoDB复制集的迁移一、迁移前准备二、配置新复…