2010-04-07 5 views
1

Donc, je voudrais fondamentalement tester pour voir si une chaîne contient une gamme de caractères alphanumériques. Il doit être utilisé comme une validation côté client et je ne veux pas empêcher les utilisateurs d'entrer ce qu'ils veulent. Il est préférable de donner des exemples de ce qui devrait/ne devrait pas passer la validation:Regex pour tester si une chaîne d'entrée contient un certain nombre de caractères

Pour être précis, l'expression que je cherche est de tester pour s'assurer que la chaîne contient entre 3 et 10 caractères alphanumériques. Je voudrais me connecter à un validateur côté client ASP.NET.

NOTE: citations ne fait pas partie de l'entrée

  • "foo" devrait passer car il y a 3 caractères
  • "f_0_0" devrait passer
  • "fo" ne devrait pas
  • (mais pourrait être!)
  • "F ...... o ...... o ...... b ..... un ...... r" doit passer

thx

Répondre

1
^([^a-zA-Z0-9]*[a-zA-Z0-9][^a-zA-Z0-9]*){3,10}$ 

Autorise exactement 3-10 caractères alphanumériques, chacun entouré d'un nombre arbitraire de caractères non alphanumériques.

(non testé, mais il doit être conforme à the JScript subset de la syntaxe standard .net Regex, comme required by the RegularExpressionValidator. Malheureusement, les sténographies \w et \W ne peuvent pas être utilisés car ils comprennent le trait de soulignement comme caractère alphanumérique.)

+0

fait le tour merci! –

1

I « ne suis pas familier avec ASP.NET validateurs côté client, donc je ne suis pas sûr si vous besoin de le faire dans un regex, mais potentiellement une solution facile est la suivante:

  1. supprimez tous les non caractères alphanumériques (regex repla ce [^0-9A-Za-z] avec rien).
  2. Vérifiez si la longueur de la chaîne est égale ou supérieure à 3.
Questions connexes