Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript日期时间正则表达式_Javascript_Regex_Datetime_Datetimepicker - Fatal编程技术网

javascript日期时间正则表达式

javascript日期时间正则表达式,javascript,regex,datetime,datetimepicker,Javascript,Regex,Datetime,Datetimepicker,给正则表达式专家打电话。 需要验证2017-12-25 12:15:11格式。 提前感谢 /^\d{4}([-/ ])\d{2}\1\d{2} \d{2}:\d{2}:\d{2}$/ /^\d{4}([-/ ])\d{2}\1\d{2} \d{2}:\d{2}:\d{2}$/.test("2017-12-25 12:15:11") //copy to chrome console test true or false let expression=/\d{4}-\d{2}-\d{2}\s\d

给正则表达式专家打电话。 需要验证2017-12-25 12:15:11格式。 提前感谢

/^\d{4}([-/ ])\d{2}\1\d{2} \d{2}:\d{2}:\d{2}$/
/^\d{4}([-/ ])\d{2}\1\d{2} \d{2}:\d{2}:\d{2}$/.test("2017-12-25 12:15:11")  //copy to chrome console test true or false
let expression=/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/;

控制台日志(表达式测试('2017-12-25 12:15:11')用正则表达式构建一个好的日期时间字符串验证器将非常困难。你必须考虑不同月份的天数不同的事实。闰年使情况更加复杂

为什么不使用
新日期('datestring to validate')

或者使用一些更强大的日期引擎,如


请详细说明如何表示单位数字天、月、小时、分钟和秒(例如1或01),并说明时间是24小时格式(我假设)。此外,如果需要分析/验证日期时间字符串,查看库以获得一个健壮且经过良好测试/采用的解决方案。@arash yy dd mm hh:mm:ssIt显然是一个错误的答案:
console.log(expression.test('2017-99-99 12:15:11')=>trueYes我理解,但我在这里做的只是格式的形状,而不是验证它,这可以与其他实用程序一起使用。请您解释您的答案,使其不是仅代码的答案
`new Date("2017-12-22 12:15:11")` // Fri Dec 22 2017 12:15:11 GMT+0100 (Central European Standard Time)

`new Date("2017-12-32 12:15:11")` // Invalid Date
var myDate = moment('2017-12-31 12:15:13', 'YYYY-MM-DD hh:mm:ss').isValid();
console.log(myDate) // true

var myDate = moment('2017-12-33 12:15:13', 'YYYY-MM-DD hh:mm:ss').isValid();
console.log(myDate) // false