Inclure un trait d'union dans une parenthèse de caractère Regex
Lors de la création d'expressions régulières incluant des parenthèses de caractères, il est important de considérer la manière dont les caractères spéciaux, tels que comme des tirets (-), doivent être traités. Dans le contexte de la méthode de validation jQuery affichée dans l'invite :
$.validator.addMethod('AZ09_', function (value) { return /^[a-zA-Z0-9.-_]+$/.test(value); }, 'Only letters, numbers, and _-. are allowed');
L'objectif est d'autoriser les traits de soulignement (-) et les traits d'union (-). Cependant, si vous utilisez le code tel quel, vous risquez de rencontrer des problèmes tels que l'invalidation des chaînes contenant des traits d'union.
Pour résoudre ce problème, l'approche recommandée consiste à échapper au trait d'union à l'aide d'une barre oblique inverse (). Cela garantit que l'expression régulière reconnaît avec précision le trait d'union comme un caractère valide dans la parenthèse de caractères :
/^[a-zA-Z0-9._-]+$/
En échappant au trait d'union, nous spécifions qu'il doit être traité comme un caractère littéral plutôt que comme un caractère spécial. Alternativement, vous pouvez également essayer de placer la classe de caractères entre crochets ([]) :
[a-zA-Z0-9._-]
Cela fonctionnera également efficacement en autorisant les tirets comme caractères valides entre parenthèses.
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!