我有个栏位的标准格式为:
下午 04:02如何利用JS来判断这个格式的正确性,不是这样的格式就检测不通过...
tks.

解决方案 »

  1.   

    var reg=/^[上下]午\s\d{2}:\d{2}$/
      

  2.   

    function test(str)
    {
    var regex= /^(0|1(?=[0-9])|2(?=[0-4]))\d:[0-5](?=[0-9])\d$/;
    if(regex.test(str)) return true
    return false;
    }function fun(str)
    {
       if(test(str)) alert("正确");
        else alert("错误");
    }var str = "04:02";
    var str1 = "25:60";
    fun(str)
    fun(str1)
      

  3.   

    var regex=/^([01]\d|2[0-4]):([0-5]\d|60)$/
      

  4.   

    /^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/就可以了 
    这个正则
    /^(0|1(?=[0-9])|2(?=[0-4]))\d:[0-5](?=[0-9])\d$/;
    根本用不到正前瞻 只是验证而已 
    你这个正则我解释下吧 (0或者1 然后右边要有一个0到9的任意数字)
    也就是01-19之间的整数 但这有个bug就是 个位数它只算是有 后面的正则也会拿来继续用 或者 20-24之间 \d又来一个0-9的数字 这就是为了补足刚才正前瞻那位数而强放这的 有点画蛇添足的意思
    后面的基本一样啦