【问题标题】:Time Validation with Jquery使用 Jquery 进行时间验证
【发布时间】:2011-09-03 15:51:39
【问题描述】:

我正在使用jquery validation plugin 来验证我的表单。要验证文本输入,我所做的就是在属性中写入class="required",它会为我进行验证。

现在我正在尝试验证用户必须输入时间的输入(例如上午 02:45:00),但我使用的插件没有任何时间验证功能。所以,我必须为此构建一个自定义验证,但问题是我不了解 Jquery :(

你能告诉我怎么做吗?

提前致谢

为了您的信息,我需要将其构建为 12 小时时间格式

【问题讨论】:

  • 给一些组合框来选择用户的时间然后你就可以验证了

标签: jquery


【解决方案1】:

你可以使用 jQuery Validators addMethod()。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery.Validate/1.6/jQuery.Validate.js" type="text/javascript"></script>
<script type="text/javascript">

$().ready(function() {

$.validator.addMethod("time", function(value, element) {  
return this.optional(element) || /^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$/i.test(value);  
}, "Please enter a valid time.");

    $("#login").validate({
            rules: {
                    time: "required time",
            },

     });

 });

 </script>
</head>
<body>
  <form id="login" name="login" method="post" action="#">
  <h1>Time Validation</h1><br />
  <label for="time">Enter Time</label>
  <input id="time" name="time" type="text" value="" tabindex="1" /><br />
  <input id="submit" name="submit" type="submit" value="Submit" tabindex="2" />
</form>
</body>
</html>​

这是一个 jsfiddle - http://jsfiddle.net/e2DzT/

我希望这会有所帮助。

【讨论】:

  • 非常感谢 - Martyhines。请你告诉我在这里写什么代码 - return this.optional(element) || /^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5] ?[0-9]))?$/i.test(value);使其验证 12 小时格式(例如:上午 02:30)。* 不允许 24 小时格式(不允许 21:20)
  • 您可以使用 ^(([0-1]?[0-2])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9])(a|p)m)?$ 来验证 12:34:56am 或 pm,或者您可以使用 ^(([0-1]?[0-2])|([2][0-3])):([0-5]?[0-9])(a|p)m?$ 来验证 12:34am 或 pm。看看rubular.com 来玩这些正则表达式。
  • 它运行良好。再次非常感谢您..为您提供帮助。 :)
  • JSfiddle 清理:jsfiddle.net/e2DzT/267 适合任何想玩弄的人。
  • @user2019515 这更干净,但如果有人在没有: 的情况下输入小时数,它会中断我认为它应该接受小数点或冒号,或者即使它被遗漏了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多