首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jQuery验证结束日期是否晚于开始日期

使用jQuery验证结束日期是否晚于开始日期
EN

Stack Overflow用户
提问于 2009-05-07 10:52:01
回答 14查看 387.2K关注 0票数 115

如何在jQuery中检查/验证结束日期文本框是否晚于开始日期文本框

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2010-02-11 08:55:13

只是扩展融合的答案。此扩展方法使用jQuery验证插件工作。它将验证日期和数字

代码语言:javascript
复制
jQuery.validator.addMethod("greaterThan", 
function(value, element, params) {

    if (!/Invalid|NaN/.test(new Date(value))) {
        return new Date(value) > new Date($(params).val());
    }

    return isNaN(value) && isNaN($(params).val()) 
        || (Number(value) > Number($(params).val())); 
},'Must be greater than {0}.');

要使用它:

代码语言:javascript
复制
$("#EndDate").rules('add', { greaterThan: "#StartDate" });

代码语言:javascript
复制
$("form").validate({
    rules: {
        EndDate: { greaterThan: "#StartDate" }
    }
});
票数 185
EN

Stack Overflow用户

发布于 2009-05-07 10:58:22

代码语言:javascript
复制
var startDate = new Date($('#startDate').val());
var endDate = new Date($('#endDate').val());

if (startDate < endDate){
// Do something
}

我想这应该可以了。

票数 88
EN

Stack Overflow用户

发布于 2009-05-11 15:05:31

参考jquery.validate.js和jquery-1.2.6.js。将startDate类添加到开始日期文本框中。将endDate类添加到“结束日期”文本框中。

将此脚本块添加到您的页面:-

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function() {
        $.validator.addMethod("endDate", function(value, element) {
            var startDate = $('.startDate').val();
            return Date.parse(startDate) <= Date.parse(value) || value == "";
        }, "* End date must be after start date");
        $('#formId').validate();
    });
</script>

希望这能有所帮助:-)

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/833997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档