js正则表达式如何验证文本框输入的时间格式 为下列所示4
发布网友
发布时间:2023-10-13 09:09
我来回答
共3个回答
热心网友
时间:2024-11-17 04:53
楼主你好,正则匹配最重要的是你要知道所有可能的变化。
如果格式非常一致,就像你举的例子一样,那么一个很简单的匹配,如下就能解决问题:
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
如果是变化比较多,比如年份可能是2位,分隔符不只是"-"或者":"那么单一,亦或者空格可能不止一个,也可能不是空格是tab之类的,那么就需要更复杂一点的匹配来解决上述问题,如下:
(\d{4}|\d{2})[^\d]\d{2}[^\d]\d{2}\s+\d{2}[^\d]\d{2}[^\d]\d{2}
解释一下,开头的“(\d{4}|\d{2})”表示年份可能是4位或者2位。然后“[^\d]”代表一个非数字的分隔符号,后面的2个“\d{2}”代表月份和日期。之后“\s+”代表一个或者多个空格符号,"\d{2}[^\d]\d{2}[^\d]\d{2}"代表时间及其分隔符号,解释参照上一句。
如果还有进步一的变化或者疑问,欢迎继续留言追问。谢谢。
热心网友
时间:2024-11-17 04:53
^\d{4}-0[1-9]-0[1-9] 0[0-9]:0[0-9]0[0-9]|\d{4}-[10-12]-[10-31] [10-24]:[10-59][10-59]$
手头没工具 你实验一下
另外 如果不幸成功了 也是有bug的 比如输入2002-02-30 00:0000也是能通过的
热心网友
时间:2024-11-17 04:54
正则的话貌似有点麻烦,每个月分的天数不去定,最好是拖个控件让用户自己选时间