jquery时间验证

jquery时间验证,jquery,validation,time,Jquery,Validation,Time,我希望写一个函数来验证文本字段的时间格式,它是以12H格式附加的 HH:MM AM|PM 没什么好幻想的。只是把文本字段变成红色或者别的什么。我甚至不希望它阻止表单提交。我只是想让用户知道,他是一个在错误的时间输入的白痴。我心里已经有了一个正则表达式 (1[012]|0[1-9]):[0-5][0-9](\\s)?(?i)(am|pm) 我想我唯一的问题是jQuery格式。经过这么长时间,虽然我已经熟悉了jQuery语法,但我还是不太习惯在一起编程。我将尝试自己完成这件事,但如果你们已经有了

我希望写一个函数来验证文本字段的时间格式,它是以12H格式附加的

HH:MM AM|PM
没什么好幻想的。只是把文本字段变成红色或者别的什么。我甚至不希望它阻止表单提交。我只是想让用户知道,他是一个在错误的时间输入的白痴。我心里已经有了一个正则表达式

(1[012]|0[1-9]):[0-5][0-9](\\s)?(?i)(am|pm)
我想我唯一的问题是jQuery格式。经过这么长时间,虽然我已经熟悉了jQuery语法,但我还是不太习惯在一起编程。我将尝试自己完成这件事,但如果你们已经有了一个整洁的解决方案,那么再发明轮子是没有意义的。让我知道你们的想法

这是我到目前为止所拥有的。。。目前正在测试它。。。考虑使用jquery验证,尽管我以前有过声明

$('#DischargeDateTimeMask').blur(function () {
        var inputVal = $(this).val();
        var dateReg = /^(1[012]|0[1-9]):[0-5][0-9](\\s)?(?i) (am|pm)$/
        if (!characterReg.test(inputVal)) {
            $(this).after('<span class="error error-keyup-4">Incorrect time format fool!: HH:mm am|pm</span>');
        }
    });
$('#DischargeDateTimeMask').blur(函数(){
var inputVal=$(this.val();
var dateReg=/^(1[012]| 0[1-9]):[0-5][0-9](\\s)?(?i)(上午|下午)$/
如果(!characterReg.test(inputVal)){
$(this).after('错误的时间格式傻瓜!:HH:mm am | pm');
}
});

你到底想知道什么?您可以在表单submit中使用该正则表达式,并查看它是否与字段值匹配,如下所示:

var myregex = new RegExp("");
$("#myform").submit(function() {
    if(!$("#mydateinput").val().match(/(1[012]|0[1-9]):[0-5][0-9](\\s)?(?i)(am|pm)/)) {
        // Do stuff to show things about things being invalid.
        return false;
    }
});

但真正的意义是什么?:)

这就是我要找的

$('#DischargeDateTimeMask').blur(function () {
    var inputVal = $(this).val();
    var dateReg = /^(1[012]|0[1-9]):[0-5][0-9](\\s)? (am|pm)+$/;
    if (!characterReg.test(inputVal)) {
        $(this).after('<span class="error error-keyup-4">Incorrect time format fool!: HH:mm am|pm</span>');
    }
    //alert(dateReg.test(inputVal));
});
$('#DischargeDateTimeMask').blur(函数(){
var inputVal=$(this.val();
var dateReg=/^(1[012]| 0[1-9]):[0-5][0-9](\\s)?(上午|下午)+$/;
如果(!characterReg.test(inputVal)){
$(this).after('错误的时间格式傻瓜!:HH:mm am | pm');
}
//警报(日期注册测试(输入值));
});

我写了一个代码来检查开始时间是否大于结束时间

检查此时间格式中的10:00:00<12:00:00

//开始时间=10:00:00

//结束时间=12:00:00

//------代码Jquery-------


$.validator.addMethod(“gratterhan”,函数(值、元素、日期){
//如果为false,则验证失败,并显示以下消息
var st=$(日期).val();
var etime=parseInt(value.replace(/:/g,“”),10);
var stime=parseInt(st.replace(/:/g,“”),10);
返回时间>时间;
},“结束时间必须大于开始时间”);
//----如何打电话-------

$().ready(函数()){
$(“#分配表单”).validate({
规则:{endTime:{graterThan:#startTime}
});
});

我想我只是想练习编写一些jquery。我目前使用的是$.blur事件来设置比较键。。。我最初试图避免jquery验证,因为如果用户没有在时间字段中输入值(这不是必需的),我确实希望提交,而且我不知道如何使用正则表达式进行验证,但在过去几分钟里我一直在重新思考这一点。。。我会更新我的帖子,更新到目前为止的内容。
    <script type="text/javascript">


        $.validator.addMethod("graterThan", function(value, element,date) {
            //If false, the validation fails and the message below is displayed

            var st= $(date).val();
            var etime=parseInt(value.replace(/:/g,""),10);
            var stime=parseInt(st.replace(/:/g,""),10);
            return etime>stime;
        }, "End time must be larger than start time");
        $().ready(function() {

            $("#AllocationForm").validate({
                rules : { endTime:{graterThan:"#startTime"}}
            });

        });

    </script>