验证模式中的问题

时间:2017-08-23 07:00:18

标签: javascript jquery jquery-ui

我写了像

这样的验证模式
        function checkValid(str)
        {
            var isPattern = /^(0?[1-9]|[12][0-9]|3[01])[\/\/](0?[1-9]|1[012])[\/\/]\d{4}$/.test(str);
            if (!isPattern)
                return false;
            var d = new Date(str);
            return (!isNaN(d));
        }

       in the code 
          ...
          ....
          else if(!checkValid(newstartdate))
            {
                swal({
                    title: "",
                    text: "Please enter valid start date! "
                });
            }
            else if(!checkValid(newenddate))
            {
                swal({
                    title: "",
                    text: "Please enter valid end date! "
                });
            }

我必须遵循正确的dd / mm / yyyy格式,上述行不接受日期,例如" 22/12/2026"。

2 个答案:

答案 0 :(得分:0)

尝试使用此模式:



var isPattern = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
console.log(isPattern.test("22/12/2026"));
console.log(isPattern.test("32/14/2026"));
console.log(isPattern.test("31/02/2026"));
console.log(isPattern.test("29/02/1996"));




也会考虑闰年。

查看here进行移植。

答案 1 :(得分:0)

var date_regex =  /^(0?[1-9]|[12][0-9]|3[01])[\/](0?[1-9]|1[012])[\/]\d{4}$/;
alert(date_regex.test("22/12/1993"));