Maison >interface Web >js tutoriel >Comment inclure correctement un trait d'union dans une classe de caractères Regex ?

Comment inclure correctement un trait d'union dans une classe de caractères Regex ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-28 10:22:10277parcourir

How to Properly Include a Hyphen in a Regex Character Class?

Comment inclure un trait d'union dans une parenthèse de caractère avec Regex

Lorsque vous utilisez une parenthèse de caractère dans une expression régulière, vous pouvez rencontrer des difficultés dans y compris les tirets. La question suivante illustre ce problème :

In a JavaScript validator, when using the following regex:

$.validator.addMethod('AZ09_', function (value) {
    return /^[a-zA-Z0-9.-_]+$/.test(value);
}, 'Only letters, numbers, and _-. are allowed');

Trying to match a value like "test-123" still triggers an error as if the hyphen is invalid, despite attempting to escape it with \-.

La réponse à ce problème est de placer le trait d'union au début ou à la fin de la parenthèse de caractère. Cette modification garantit qu'il est correctement inclus dans les caractères autorisés :

/^[a-zA-Z0-9._-]+$/

En effectuant cet ajustement, les traits d'union sont désormais reconnus comme des caractères valides dans l'expression régulière.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn