jQuery 验证(日期范围)
我正在使用 jQuery 验证插件,想知道是否有一种方法可以验证输入字段的日期是否是像 yyyy-mm-dd 这样的日期,并且日期在 2010 年 11 月 29 日至 2010 年 12 月 15 日之间
我对 jQuery 还很陌生因此,如果有答案,请尽可能简化答案,以便我能够完成它。非常感谢任何/所有建议
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
如果您想要一个可重用的函数,您可以扩展 Emily 和 lonesomeday 的答案以允许提供参数:
请参阅 jQuery 验证的源 range 方法为例。
If you want a reusable function, you might extend Emily and lonesomeday's answers to allow an argument to be provided:
See the source of the jQuery validation range method for an example.
我从未使用过验证插件,但浏览 API 表明类似的操作可能有效:
我认为,然后您需要将
daterange
类添加到适当的元素。I've never used the validation plugin, but a look through the API suggests that something like this might work:
You would then, I think, need to add the
daterange
class the the appropriate element.lonesomeday的答案非常接近,但有一些调整。我将按如下方式结束代码:
这修复了 isNaN 函数,并且还向您的用户提供错误消息,以便他们知道您在寻找什么。
lonesomeday's answer is pretty close, with a few tweaks. I would end the code as follows:
This fixes the isNaN function, and also provides an error message to your users so they know what you're looking for.
放好马,伙计们! :)
不要忘记,Date.parse 无法在不同的语言环境下正常工作,它只能正确解析特定的日期格式。
如果您使用各种日期格式(特定于文化) - 最好坚持使用 jquery datepicker 日期处理。
因此,假设您已加载正确的特定于区域性的 jquery datepicker 对象(例如,jquery.ui.datepicker-nb-NO.js,其中日期格式为 DD.MM.yyyy 并且不由 Date.parse 解析)并初始化它,正确的方法是:
我将 parseDate 内容放入 try 块中,因为没有正常的方法来确定日期是否已正确解析。
Hold your horses, guys! :)
Do not forget, that Date.parse cannot work properly with different locales, it only parses properly specific date format.
If you use various date formats (culture-specific) - it's better to stick to jquery datepicker date handling.
So, supposing you've loaded correct culture-specific jquery datepicker object (for instance, jquery.ui.datepicker-nb-NO.js, where date format is DD.MM.yyyy and is not parsed by Date.parse) and initialized it, proper approach is:
I've put parseDate stuff inside try block, because there's no normal way to figure out if the date has been parsed properly.
对康纳的代码做了一些小修正。
生成的工作代码是:
然后像这样使用它:
Made a couple small corrections in Connor's code.
The resulting working code is:
Then use it like this:
date
类型input
上的日期范围min
/max
属性Date range
min
/max
attributes ondate
typeinput