精华内容
下载资源
问答
  • 使用Pattern类和Matcher类完成一个日期格式是否符合要求验证过程。 例如:日期格式要求为:yyyy-mm-dd 正则表达式验证规则过程: 日期: 2015 - 12 - 08 格式: 四位数字 两位数字 两位数字 正则: \\d{4} - \\d{2}...

     

    使用Pattern类和Matcher类完成一个日期格式是否符合要求的验证过程。 
    例如:日期格式要求为:yyyy-mm-dd 
    正则表达式验证规则过程: 
    日期:    2015     -     12      -    08 
    格式:   四位数字       两位数字        两位数字 
    正则:   \\d{4}    -    \\d{2}   -   \\d{2} 
    其中“\”字符是需要进行转义的,两个“\”实际上是表示一个“\”,所以实际上的 
    “\\d”也表示的是“\d”。 
    程序代码如下: 
    import java.util.regex.Matcher; 
    import java.util.regex.Pattern; 

    public class PatternTest { 

    public static void main(String[] args) { 
    // TODO Auto-generated method stub 
           String str="2005-12-08"; 
           String path="\\d{4}-\\d{2}-\\d{2}";//定义匹配规则 
           Pattern p=Pattern.compile(path);//实例化Pattern 
           Matcher m=p.matcher(str);//验证字符串内容是否合法 
           if(m.matches())//使用正则验证 
           { 
           System.out.println("输入的日期格式合法!"); 
           } 
           else 
           { 
           System.out.println("输入的日期格式不合法!"); 
           } 



    https://673390302.iteye.com/blog/2262618

    展开全文
  • 正则表达式

    2014-12-03 14:51:39
    由于某些字符类非常常用,所以JavaScript的正则表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, \s 匹配的是空格符,制表符和其它空白符, \s 匹配的则是空白符之外的任何字符. 正则表灰式的字符类 ...
  • (可检验以下格式的日期(2008-01-01/2008-1-1/2008-01-1/2008-1-01)) string format = @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1.....
    一个非常好用的日期正则表达式。
    (可检验以下格式的日期(2008-01-01/2008-1-1/2008-01-1/2008-1-01))
     
    string format = @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29))$";
                Regex reg = new Regex(format);
                Match m = reg.Match(date);
                if (!m.Success)
                {
                    MessageBox.Show("日期格式不对!");
                    return false;
                }

    转载于:https://www.cnblogs.com/chhuic/archive/2009/08/03/1537623.html

    展开全文
  • 其他的正则表达式匹配.php 其他的正则表达式匹配 取得正则表达式的全部匹配.php 取得正则表达式的全部匹配 返回与模式匹配的数组单元.php 返回与模式...
  • 其他的正则表达式匹配.php 其他的正则表达式匹配 取得正则表达式的全部匹配.php 取得正则表达式的全部匹配 返回与模式匹配的数组单元.php 返回与模式...
  • //检验日期格式,合法格式例如:2000-10-29,月份和天必须是两位,能检测闰年。 function isDate(str){ var reg=/^(?:(?!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])-(?:29...

    //检验日期格式,合法的格式例如:2000-10-29,月份和天必须是两位,能检测闰年。 function isDate(str){ var reg=/^(?:(?!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])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/; if (reg.test(str)) return true; return false; }

    展开全文
  • 今天工作时需要用到日期格式检验,于是发现未知大神贡献一套正则表达式【1】,看起来很复杂; 但是经过测试发现有些问题: ((\d{2}(([02468][048])|([13579][26]))[-/\s]?((((0?[13578] )|(1[02]))[-/\s]?...

    今天工作时需要用到日期格式检验,于是发现未知的大神贡献的一套正则表达式【1】,看起来很复杂;

    但是经过测试发现有些问题:

    ((\d{2}(([02468][048])|([13579][26]))[-/\s]?((((0?[13578]
    )|(1[02]))[-/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[4
    69])|(11))[-/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/
    \s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([1
    3579][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]))))))

    经测试发现是存在一些问题的,如 1980-2-29只能匹配到1980-2-2,2100-2-29(非闰年)是会进入第一个闰年匹配的,这样就会出现闰年匹配和日期匹配不正确的情况。

    在此基础上,我做了一些修改,在此贴出:

    (((((([2468][048])|([13579][26]))00)|(\d{2}((([2468][048])|([02468][48]))|([13579][26]))))
    [-/\s]?((((1[02])|(0?[13578]))[-/\s]?(([1-2][0-9])|(3[01])|(0?[1-9])))|(((11)|(0?[469]))
    [-/\s]?(([1-2][0-9])|(30)|(0?[1-9])))|(0?2[-/\s]?(([1-2][0-9])|(0?[1-9])))))
    |((((([2468][1235679])|([13579][01345789]))00)|(\d{2}(([02468][1235679])|([13579][01345789]))))
    [-/\s]?((((1[02])|(0?[13578]))[-/\s]?(([1-2][0-9])|(3[01])|(0?[1-9])))|(((0?[469])|(11))
    [-/\s]?(([1-2][0-9])|(30)|(0?[1-9])))|(0?2[-/\s]?((1[0-9])|(2[0-8])|(0?[1-9]))))))

    下面对改动的正则分块做一下说明:

    1.匹配闰年:

    (((([2468][048])|([13579][26]))00)|(\d{2}((([2468][048])|([02468][48]))|([13579][26]))))

    1.1 匹配可被400整除的年份

    ((([2468][048])|([13579][26]))00)

    1.2 匹配可被4整除但不能被100整除的年份

    (\d{2}((([2468][048])|([02468][48]))|([13579][26])))

    1.3 注:经查阅 4的倍数有以下特征:(1):十位数为偶数时且个位是4的倍数的(含0),十位数为奇数且个位数为偶数且个位数字不是4的倍数; (2)十位和个位可被4整除则此数字即可被4整除;【2】

     

    2.匹配月日;需注意2月分的29号 和区别大小月份,1 3 5 7 8 10 12 这些是大月

    ((((1[02])|(0?[13578]))[-/\s]?(([1-2][0-9])|(3[01])|(0?[1-9])))|(((11)|(0?[469]))[-/\s]?(([1-2][0-9])|(30)|(0?[1-9])))|(0?2[-/\s]?(([1-2][0-9])|(0?[1-9]))))

    2.1 解决02-29只匹配到02-2的问题

    改动前:(0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))
    改动后:([1-2][0-9])|(3[01])|(0?[1-9])))|(((11)|(0?[469]))

    由于未知的作者将最初将补零的验证置前,且0为匹配1次或0次,则匹配到[1-9]后不再进行 ‘或’ 后的匹配;

     

    3. 匹配平年

    (((([2468][1235679])|([13579][01345789]))00)|(\d{2}(([02468][1235679])|([13579][01345789]))))

    3.1 匹配不能被4整除,但可以被100整除的年份;

    ((([2468][1235679])|([13579][01345789]))00)

    3.2 匹配既不能被4整除,又不能被100整除的年份;

    (\d{2}(([02468][1235679])|([13579][01345789])))

     

    平年的月与闰年月只需注意区分2月即可

     

    经测试通过验证;

     

    如有不对,敬请指教

     

    参考:

    【1】http://www.php230.com/1409454901.html 

    【2】https://www.zybang.com/question/61a275532cdfa6fe88b1360ed4ec6182.html

     

    转载于:https://www.cnblogs.com/nerd-gordon/p/7306272.html

    展开全文
  • kettle校验日期格式的两种方式

    千次阅读 2019-04-23 16:12:06
    最开始用数据检验,我用是数据校验,利用正则表达式来校验,感觉这种有点麻烦。 利用字段选择也可以做,而且感觉更加灵活好用些 贴一个demo,这里日期格式转换不对就往下走,对就往上走。 ...
  • 在之前校验案例中我们使用了validator框架中”required、minLength、...其中“mask”可以校验正则表达式,“date”可校验日期格式,“email”可校验邮件格式,可见这框架强大之处,我们使用”date”和”e
  • 90、原生JavaScript常用的正则表达式大收集 91、原生JavaScript实现窗体改变事件resize的操作(兼容所以的浏览器) 92、原生JavaScript用正则清除空格分左右 93、原生JavaScript判断变量是否空值 94、原生JavaScript...
  • //平年出生日期的合法性正则表达式 } if(ereg.test(idcard)){//测试出生日期的合法性 //计算校验位 S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + ...
  • 书中从JavaScript语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie,并在上一版基础上新增了两章,讲述jQuery框架基础知识。本书不仅介绍了基础知识和使用方法,也深入探讨...
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    3.7 是否可以安全地认为,一旦&&和||左边的表达式已经决定了整个表达式的结果,则右边的表达式不会被求值? 3.8 为什么表达式printf("%d%d",f1(),f2());先调用了f2?我觉得逗号表达式应该确保从左到右求值顺序...
  • 3.7 是否可以安全地认为,一旦&&和||左边的表达式已经决定了整个表达式的结果,则右边的表达式不会被求值? 36  3.8 为什么表达式printf(%d %d, f1(), f2()); 先调用了f2?我觉得逗号表达式应该确保从左到右求...
  • 4.6 正则表达式的介绍 4.6.1 基础知识 4.6.2 字符集和类 4.6.3 重复 4.6.4 子表达式 4.6.5 子表达式计数 4.6.6 定位到字符串开始或末尾 4.6.7 分支 4.6.8 匹配特殊字符 4.6.9 特殊字符一览 4.6.10 在...
  • 示例描述:学习JavaScript中的正则表达式。 10.1.html 使用句点符号匹配特定字符串。 10.2.html 使用方括号符号实现匹配出租车牌号。 10.3.html 使用或符号匹配日期。 10.4.html 正则表达式中的量词...
  • PHP和MySQL Web开发第4版

    热门讨论 2014-08-13 15:32:15
    4.6 正则表达式的介绍 4.6.1 基础知识 4.6.2 字符集和类 4.6.3 重复 4.6.4 子表达式 4.6.5 子表达式计数 4.6.6 定位到字符串开始或末尾 4.6.7 分支 4.6.8 匹配特殊字符 4.6.9 特殊字符一览 4.6.10 在...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    3.7 是否可以安全地认为,一旦&&和||左边的表达式已经决定了整个表达式的结果,则右边的表达式不会被求值? 36  3.8 为什么表达式printf("%d %d", f1(), f2()); 先调用了f2?我觉得逗号表达式应该确保从左到右...
  • 4.6 正则表达式的介绍 4.6.1 基础知识 4.6.2 字符集和类 4.6.3 重复 4.6.4 子表达式 4.6.5 子表达式计数 4.6.6 定位到字符串开始或末尾 4.6.7 分支 4.6.8 匹配特殊字符 4.6.9 特殊字符一览 4.6.10 在智能表单中...
  • 13.7.3正则表达式一些高级规则421 13.7.4正则表达式其他通用规则424 13.7.5使用技巧425 13.8Pattern类使用426 13.9Matcher类使用428 13.9.1匹配方法使用429 13.9.2替换方法使用430 13.9.3组...
  • 你必须知道495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    3.12 我需要根据条件把一个复杂的表达式赋值给两个变量中一 个。可以用下边这样代码吗? ((condition) ? a : b) = complicated expression; . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 目录iii ...
  • 正则表达式支持库内修复了"正则表达式.替换"、"正则表达式.替换W"两个命令中"用作替换文本"为空时替换失败BUG. 2015.2.14日更新: 14. 提供了外部编译插件接口机制,核心库中对应增加了"宏"预编译命令. 具体...
  • PHP开发实战宝典

    热门讨论 2011-12-02 07:34:49
    11.3.4 检验日期和时间有效性 217 11.4 实战 218 11.4.1 实现倒计时功能 218 11.4.2 实现生日提示功能 219 11.4.3 计算在线考试用时和剩余时间 222 11.5 本章小结 225 11.6 实战练习 226 第2部分 核心技术 第...

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

检验日期格式的正则表达式