Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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/16.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 如何验证UTC格式日期_Javascript_Regex_Typescript - Fatal编程技术网

Javascript 如何验证UTC格式日期

Javascript 如何验证UTC格式日期,javascript,regex,typescript,Javascript,Regex,Typescript,你能帮我写下以下格式的正则表达式吗 “2020-02-07 15:45:25.763437 UTC+0000” 我的rex也应接受以下格式: “2020-02-07 15:45:25” 我找到了如何找到“2020-02-07 15:45:25”,但我不知道如何使第二部分成为可选部分?你能帮我弄清楚吗 ^([0-9]{4})-([0-1][0-9])-([0-3][0-9])\s([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$ 我正在用typesc

你能帮我写下以下格式的正则表达式吗

“2020-02-07 15:45:25.763437 UTC+0000”

我的rex也应接受以下格式: “2020-02-07 15:45:25”

我找到了如何找到“2020-02-07 15:45:25”,但我不知道如何使第二部分成为可选部分?你能帮我弄清楚吗

^([0-9]{4})-([0-1][0-9])-([0-3][0-9])\s([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])$

我正在用typescript进行编码。

我使用以下表达式解决了我的问题:

let regexpEmail =   new RegExp('^([0-9]{4})-([0-1][0-9])-([0-3][0-9]) ([0-1][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9]).?([0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?)( ([UTC])\\+[0-9][0-9][0-9][0-9])?$');
console.log("R1:" + regexpEmail.test('2020-02-07 15:45:25.763437 UTC+0000'));//"R1:true"
console.log("R2:" + regexpEmail.test('2020-02-07 15:45:25.763437')); //"R2:true" 
console.log("R3:" + regexpEmail.test('2020-02-07 15:45:25.763437 UTC+'));//"R3:false"
console.log("R4:" + regexpEmail.test('2020-02-07 15:45:25.7'));//"R4:true" 
console.log("R5:" + regexpEmail.test('2020-02-07 15:45:25'));//"R5:true" 
console.log("R6:" + regexpEmail.test('2020-02-07 15:45:25.763437 '));//"R6:false"
console.log("R7:" + regexpEmail.test('2020-02-07 15:45:25.'));//"R7:true"
console.log("R8:" + regexpEmail.test('2020-02-07'));//"R8:false"
console.log("R9:" + regexpEmail.test('2020-02-07 15:45'));//"R9:false"
console.log("R10:" + regexpEmail.test('2020-02-07 15:45:9'));//"R10:false"

我希望其他人觉得它有用。

@ccarstens:它们不一样,我的第二种类型不同,UTC之后的最后一部分是可选的。它们不一样,但使用相同的构建块。你试过使用它们吗?为什么不使用UTC而使用它呢?完成了,根据你的评论修复了它现在正则表达式匹配“…U+0100”、“…T+0200”或“…C+0300”–但不匹配“…UTC+0400”。它应该是
UTC
,而不是
[UTC]
(甚至可能不是
(UTC)
,因为在一个组中捕获它是没有意义的)@knittl:谢谢你的评论,我只是需要UTC+0000,它对我来说很有用。我将自己的注册表更改为([UTC])\\+[0][0][0])?那么为什么首先要使用正则表达式呢?更好的,即不重新发明,方法存在:或