`

正则表达式验证日期是否合法(格式,平年,闰年)

阅读更多
public static boolean isDate(String date) {
        String rexp = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
        Pattern pat = Pattern.compile(rexp);
        Matcher mat = pat.matcher(date);
        boolean dateType = mat.matches();
        return dateType;
    }

 

分享到:
评论

相关推荐

    日期正则表达式

    日期正则表达式是一种常用的验证日期格式和闰年的方式。在 Winform 和 Webform 中,日期选择和校验通常使用日历控件实现,而日期正则表达式则用于验证日期的格式和闰年。 日期正则表达式的书写需要根据具体情况具体...

    C# 最全的日期正则表达式,没有之一

    考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。 ^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2...

    验证日期的正则表达式及其注释(包含闰年验证)

    根据上面的结果,我们可以得到匹配平年日期格式为YYYY-MM-DD的正则表达式: ([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|...

    常用正则表达式.doc

    构建一个完全涵盖所有闰年规则的正则表达式可能会变得非常复杂,并且在实际应用中,通常使用编程语言内置的日期解析函数来进行更准确和灵活的日期验证,因为这些函数可以轻松地处理闰年规则,同时避免正则表达式可能...

    日期时间的正则表达式

    根据上面的成果,我们可以得到匹配平年日期格式为 YYYY-MM-DD 的正则表达式:([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|...

    JAVA正则表达式入门

    众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时 又比较复杂,如果用纯编码方式解决,往往会浪费...因此,学习及使用正则表达式, 便成了解决这一矛盾的主要手段

    史上最详细的js日期正则表达式分享

    最简单的正则 如 : /d{4}-/d{2}-/d{2}但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题….. 对于日期的有效范围,不同的应用场景会有所不同。MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到...

    ASP选择类控件和验证控件

    ASP.NET提供了多种内置的验证控件,如RequiredFieldValidator(检查字段是否为空)、CompareValidator(比较两个控件的值或验证值符合特定格式,如日期或邮箱)、RegularExpressionValidator(使用正则表达式验证...

    比较全的js验证,包括(身份证,手机,固话,身份证号与性别、出生日期验证等等)

    //平年出生日期的合法性正则表达式 } if(ereg.test(idcard)){//测试出生日期的合法性 //计算校验位 S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + ...

    身份证验证HTML源码

    判断身份证的方法比使用正则表达式更加准确详细请看 js中的 checkidcard.js 判断省份证的 js function checkIsChinese(str){ if (str.length || str.length > 15){ return "姓名长度不正确"; } var ret=true...

    手机话费计费系统Java

    三,就是Java类库里面的date和Calendar的使用和相互转换(还要考虑实际日期的情况,比如闰年,平年,2月份,30/31日的月,月末与月初的交接,还有时间格式SimpleDateFormat 以及异常处理),这些问题相信很多同学都...

    shell简单应用.docx

    - 使用正则表达式验证输入类型。 29. **输出指定字符个数**: - `printf`命令重复打印字符。 30. **素数打印**: - `for`循环配合`mod`操作符筛选素数。 31. **平年闰年判断**: - `date`命令检查年份是否为...

Global site tag (gtag.js) - Google Analytics