2 votes

Comment valider un format de date UTC

Pouvez-vous m'aider à rédiger une expression régulière pour le format suivant ?

"2020-02-07 15:45:25.763437 UTC+0000"

mon rex devrait accepter également le format suivant : "2020-02-07 15:45:25"

J'ai trouvé comment trouver "2020-02-07 15:45:25" mais je ne sais pas comment rendre la deuxième partie facultative. Pouvez-vous m'aider à le comprendre, s'il vous plaît ?

^([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])$

Je code en typescript.

0voto

rima Points 644

J'ai résolu mon problème en utilisant l'expression suivante:

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"

J'espère que quelqu'un d'autre le trouvera utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X