任何人都可以告诉我如何验证时间(这是一个html输入元素)的格式为hh:mm:ss AM / PM in javascript
答案 0 :(得分:2)
可能有更好的正则表达式,但让我们做一些基本的事情。
获取输入并附加模糊事件(不解释如何执行此操作;搜索'将事件附加到javascript中的dom元素'或类似的东西)
即使你可以做这样的事情:
if(/(?:[0-1]?[0-9]|[2][1-4]):[0-5]?[0-9]:[0-5]?[0-9]\s?(?:am|pm)?/.test(this.value)) {
// Validates
} else {
// Something is wrong
}
为了更好的正则表达式来测试时间格式或其他格式,请搜索“验证时间正则表达式javascript”或类似的东西(有很多)。
这个特殊的正则表达式可以验证时间,如果你愿意,你可以在这里玩它:
http://rubular.com/r/cYs1n3UuKO
请记住,ruby和javascript正则表达式略有不同,但对于像这样简单的东西,你可以使用rubular,它具有良好的界面,便于测试。
答案 1 :(得分:-1)
最简单的方法可能是使用globalize.js,它可以让你只测试
Globalize.parseDate(data, 'T')
表示不为空,例如if(Globalize.parseDate(data, 'T')) ...
。这个特殊的变体需要你所例证的确切格式,包括秒和am / pm指示符,尽管对am或pm指示符不区分大小写。您可以使用其他格式而不是T
来指定不同的解析。
这种方法的另一个好处是,这段代码将为全球化做好准备。只需设置一个标识语言环境的变量,就可以通过不同语言的规则对代码进行解析(在本例中为“长时间”符号)。查看一些说明可能性的code samples。