验证日期格式的正则表达式dd/mm/YYYY、dd 您所在的位置:网站首页 校验日期格式 验证日期格式的正则表达式dd/mm/YYYY、dd

验证日期格式的正则表达式dd/mm/YYYY、dd

2023-03-24 19:14| 来源: 网络整理| 查看: 265

对于那些看到这些并完全迷惑的人,这里是我的脚本的摘录。不幸的是,它所做的就是匹配日期时间输入中的有效数字,2月份31日将被标记为有效,但正如许多人所说的那样,regex确实不是执行此测试的最佳工具。

匹配格式为'yyyy-MM-dd hh:mm‘的日期(或者以您喜欢的任何顺序)

var dateerrors = false; var yearReg = '(201[4-9]|202[0-9])'; ///< Allows a number between 2014 and 2029 var monthReg = '(0[1-9]|1[0-2])'; ///< Allows a number between 00 and 12 var dayReg = '(0[1-9]|1[0-9]|2[0-9]|3[0-1])'; ///< Allows a number between 00 and 31 var hourReg = '([0-1][0-9]|2[0-3])'; ///< Allows a number between 00 and 24 var minReg = '([0-5][0-9])'; ///< Allows a number between 00 and 59 var reg = new RegExp('^' + yearReg + '-' + monthReg + '-' + dayReg + ' ' + hourReg + ':' + minReg + '$', 'g'); $('input').filter(function () {return this.id.match(/myhtml_element_with_id_\d+_datetime/);}).each(function (e) { if (e > 0) { // Don't test the first input. This will use the default var val = $(this).val(); if (val && !val.trim().match(reg)) { dateerrors = true; return false; } } }); if (dateerrors) { alert('You must enter a validate date in the format "yyyy-mm-dd HH:MM", e.g. 2019-12-31 19:30'); return false; }

上面的脚本首先构建一个regex对象。然后,它会找到id与特定模式匹配的所有输入,然后遍历这些输入。我不测试我找到的第一个输入(if (e > 0))。

稍微解释一下:

var reg = new RegExp('^' + yearReg + '-' + monthReg + '-' + dayReg + ' ' + hourReg + ':' + minReg + '$', 'g');

^表示比赛开始,而$表示比赛结束。

return this.id.match(/myhtml_element_with_id_\d+_datetime/);

\d+表示匹配单个或连续的整数序列,因此myhtml_element_with_id_56_datetime和myhtml_element_with_id_2_datetime将匹配,但myhtml_element_with_id_5a_datetime不匹配



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有