Je souhaite utiliser JavaScript (ou jQuery) pour effectuer une validation côté client afin de vérifier si une chaîne de caractères correspond à une expression rationnelle :
^([a-z0-9]{5,})$
Idéalement, il s'agirait d'une expression qui renvoie un vrai ou un faux.
Je suis un novice en JavaScript, est-ce que match()
fait ce dont j'ai besoin ? Il semble vérifier si une partie d'une chaîne de caractères correspond à une expression rationnelle, et non la totalité.
Utilisez [regex.test()
][1] si vous voulez seulement un résultat booléen :
console.log(/^([a-z0-9]{5,})$/.test('abc1')); // false
console.log(/^([a-z0-9]{5,})$/.test('abc12')); // true
console.log(/^([a-z0-9]{5,})$/.test('abc123')); // true
...et vous pourriez enlever le ()
de votre regexp puisque vous n'avez pas besoin d'une capture.
[1] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
Utilisez /youregexp/.test(yourString)
si vous voulez seulement savoir si votre chaîne correspond à la regexp.
Voici un exemple qui recherche certaines balises HTML pour qu'il soit clair que /someregex/.test()
renvoie un booléen :
if(/(span|h[0-6]|li|a)/i.test("h3")) alert('true');