2010-11-04 5 views
1

Il s'agit d'une question très dense, mais je suis fatigué.Validateur d'expressions régulières pour intercepter les caractères non alphanumériques

J'ai besoin d'une expression régulière qui peut faire dans un contrôle de validateur qui attrapera tous les caractères non-alphanumériques. En d'autres termes, l'expression rationnelle doit correspondre si la chaîne contient seulement a-z, A-Z ou 0-9. Je suis conscient qu'il est assez facile d'écrire une expression régulière qui correspondra s'il y a un caractère illégal dans une chaîne - le problème est que j'ai besoin du opposé à parce que c'est dans un validateur. C'est ce qui me donne mal à la tête.

Solutions appreciated.r

Répondre

5

Votre jeu de caractères acceptables sont [a-zA-Z0-9]. Vous souhaitez valider sur tout ce qui ne correspond pas à ceux-ci, utilisez donc un ^ pour nier cette classe de caractères:

[^a-zA-Z0-9]+ 

En outre, assurez-vous d'utiliser un RequiredFieldValidator avec votre RegularExpressionValidator puisque celui-ci n'attrape pas entrées vides. Per MSDN:

Si le contrôle d'entrée est vide, aucune fonctions de validation sont appelés et validation réussit. Utilisez un contrôle RequiredFieldValidator pour pour empêcher l'utilisateur d'ignorer un contrôle d'entrée .

0

Si une chaîne vide est pas valide:

^[[:alnum:]]+$ 
1

Utilisation:

^[a-zA-Z0-9]*$ 
+0

enfin! Merci beaucoup! –

0

Essayez

^[a-zA-Z0-9]*$ 
Questions connexes