【问题标题】:Jquery form validation of custom date format DD-MM-YYYY自定义日期格式DD-MM-YYYY的jQuery表单验证
【发布时间】:2011-02-22 12:21:40
【问题描述】:

我正在使用 jquery-validate 插件来验证我的表单。我有类似的验证规则

var validator = $("#myform").validate({
rules: {
            Date: {
                required: true,,
          },
       },
});

如何使用标准日期格式 DD-MM-YYYY 验证字段??

提前谢谢.. :)

爆破

【问题讨论】:

标签: jquery jquery-validate validation


【解决方案1】:

您应该能够在插件中使用“自定义方法”。您基本上调用您自己的 JS 函数,它将解析日期(使用您想要的任何内容,可能是正则表达式和 JS 日期检查),然后通过返回 true/false 或 null 字符串来决定您的日期是否通过/失败通过或失败的错误消息。有关示例,请参见“验证”插件。

要检查文本字符串日期的格式,请尝试使用正则表达式,例如:

var vDT="(([012]?[1-9])|10|20|30|31)[/](([0]?[1-9])|10|11|12)[/](19|20)?[0-9]{2}";
var regex = new RegExp(vDT);
return (regex.test(dateString));

正则表达式将检查“好”日期,但不是完美的日期,例如:99/99/9999 失败,31/03/2011 通过,但 31/02/2011 也是如此。请注意,这接受 2 位或 19xx 或 20xx 年,但您可能希望仅将其限制为 4 位,因为您可能会发现自己回到了 20 世纪。

要从英国日期创建与 JS 兼容的美国日期,您需要执行以下操作:

var uk = '21/11/2011';
var uka = split(uk, '/');
var jsdate = new date(uka[2], uka[1]-1, uka[0])

然后检查你的 jsdate 是否有效...

【讨论】:

    猜你喜欢
    • 2014-01-18
    • 1970-01-01
    • 2017-04-07
    • 2022-11-29
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2016-01-02
    • 1970-01-01
    相关资源
    最近更新 更多