Cet article analyse les précautions d'utilisation de RegExp.test() standard JS avec des exemples. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Regardez d'abord le code suivant :
// 2012-12-12 12:12:12 var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g; // true alert(regex.test("2012-12-12 12:12:12")); // false alert(regex.test("2012-12-12 12:12:12"));
Les résultats de l'exécution sont déjà dans les commentaires du code. Pour la même expression régulière, l'objet regex ne peut pas être appelé à plusieurs reprises : il renvoie vrai pour la première fois et faux pour la deuxième fois. Évidemment, cet effet n'est pas ce que nous souhaitons. En effet, la méthode RegExp.test() démarre la recherche à partir de la position 0 pour la première fois et peut correspondre ; la deuxième position de recherche n'est pas 0, elle ne peut donc pas correspondre ;
La solution est assez simple : laissez simplement le test commencer à correspondre à partir de la 0ème position à chaque fois :
// 2012-12-12 12:12:12 var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g; // true alert(regex.test("2012-12-12 12:12:12")); regex.lastIndex = 0; // true alert(regex.test("2012-12-12 12:12:12"));
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.
Pour plus de précautions d'utilisation régulières de RegExp.test() en JS (non répétitives), veuillez faire attention au site Web PHP chinois !