2010-08-31 5 views
0

En utilisant l'expression régulière suivante avec la bibliothèque ExtJS, l'intention est d'autoriser uniquement les espaces, les signes dollar, les traits de soulignement, les caractères alpha et numériques. Cependant, pour une raison quelconque, le caractère barre verticale/tuyau est également autorisé. J'espère que quelqu'un pourra me dire ce qui me manque ici. Suis-je par inadvertance échapper à l'une des barres verticales?Regex élimine le caractère barre verticale/tuyau

maskRe:/^[a-z|A-Z|0-9|$|_ ]$/

Merci de bien vouloir pour votre temps!

+0

Mes excuses, étant un nouveau membre, j'ai manqué l'option d'encapsuler dans le code dans les balises pour l'afficher correctement. – Tim

+0

Vous pouvez éditer votre question pour ajouter le formatage. –

+0

Merci, édité pour d'autres qui pourraient se référer à l'avenir. – Tim

Répondre

2

Vous n'avez pas besoin des barres verticales dans votre classe de caractères. Essayez plutôt ce qui suit:

maskRe:/^[a-zA-Z0-9$_ ]$/ 
+0

... qui peut généralement être raccourci à: '/^[\ w $] + $ /'. Je prends comme lu que l'OP veut réellement permettre plus d'un caractère, ainsi notez le quantificateur. – Tomalak

+0

Merveilleux, Phil, je pensais que j'avais testé cela auparavant, mais que je devais avoir un autre personnage. Je suis novice en regex, mais je réalise certainement à quel point c'est puissant! – Tim

Questions connexes