【问题标题】:Jquery DOB inputs fields to be validatedJquery DOB 输入要验证的字段
【发布时间】:2011-11-25 12:13:06
【问题描述】:

只接受不超过 31 的数字(没有 32、没有 62 等)。

目前运行良好,但如果我输入 50/80/1977 仍然可以。

我需要验证输入 DD MM YYYY。有什么建议吗?

我不想使用数据选择器。并且号码必须是英国格式。 DD/MM/YYYY。

E.G. http://jsfiddle.net/davidesitua/bhdry/49/

【问题讨论】:

    标签: jquery forms jquery-validate validation


    【解决方案1】:

    我写这个函数是为了回答另一个问题,但我认为它应该做你想做的-

    function isValidDate(strDate) {
        if (strDate.length != 10) return false;
        var dateParts = strDate.split("/");
        var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
        if (date.getDate() == dateParts[0] && date.getMonth() == (dateParts[1] - 1) && date.getFullYear() == dateParts[2]) {
            return true;
        }
        else return false;
    }
    

    演示 - http://jsfiddle.net/2r6eX/2/

    要使用您的代码,您可以执行以下操作 -

    if (!isValidDate(enteredDOB)) {
        $("#invalidDOB").fadeIn("slow");
        return false;
    }    
    

    与您的代码集成的代码演示 - http://jsfiddle.net/ScEuV/1/

    在原问题中给出了进一步的解决方案-How to check if a string is a legal "dd/mm/yyyy" date?

    【讨论】:

    • 谢谢,但我很困惑,你能更新jsfiddle.net/davidesitua/bhdry/49上的代码吗?
    • 请注意:我试图提供未来的日期,它说我很年轻,但我什至还不存在(如果相信提供的日期)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2016-08-25
    相关资源
    最近更新 更多