• JS正则表达式匹配时间和日期

    本节给大家演示一下正则表达式的具体使用,是正则表达式的两个实例,分别是时间匹配时间和匹配日期。

    时间

    以 24 小时制为例,时间字符串格式如下:

    23:59
    02:07

    模式分析:

    • 共 4 为数字,第 1 位数字可以为 [0-2]。
    • 当第 1 位为“2”时,第 2 位可以为 [0-3]。
    • 第 3 个数字为 [0-5],第 4 位为 [0-9]。

    实现代码:

    var regex = /^([01][0-9][2][0-3]):[0-5][0-9]$/;
    console.log(regex.test("23:59"));
    console.log(regex.test("02:07"));

    如果要求匹配“7:9”格式,也就是说时分前面的“0”可以省略。优化后的代码如下:

    var regex = /^(0?[0-9]|1[0-9]|[2][0-3]):(0?[0-9]|[1-5][0-9])$/;
    console.log(regex.test("23:59"));  //true
    console.log(regex.test("02:07"));  //true
    console.log(regex.test("7:9"));  //true

    日期

    常见日期格式:yyyy-mm-dd。例如:2019-09-05。

    模式分析:

    • 年:4 位数字即可,可用 [0-9] {4}。
    • 月:共 12个月,分两种情况:"01""02"..."09" 和 "10""11""12",可用 (0[1-9]1[0-2])。
    • 日:最大 31 天,可用 (0[1-9][12][0-9]3[01])。

    实现代码:

    var regex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
    console.log(regex.test("2019-09-05"));

更多...

加载中...