正则表达式测试输入字符串是否包含一定数量的字符

时间:2010-04-07 18:41:36

标签: asp.net regex validation

所以,我基本上想测试一下字符串是否包含一系列字母数字字符。它将被用作客户端验证,我不想阻止用户输入他们想要的任何内容。最好举例说明应该/不应该通过验证:

所以具体来说,我正在寻找的表达式是测试以确保字符串包含3到10个字母数字字符。我想插入ASP.NET客户端验证器。

注意:引号不是输入的一部分(但可能是!)

  • “f o o”应该通过,因为有3个字符
  • “f_0_0”应该通过
  • “fo”不应该
  • “F ...... o ...... o ...... b ...... a ...... r”应该通过

THX

2 个答案:

答案 0 :(得分:1)

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

允许使用3-10个字母数字字符,每个字符都包含任意数量的非字母数字字符。

(未经测试,但它应符合标准.net正则表达式语法的the JScript subsetrequired by the RegularExpressionValidator。不幸的是,短标\w\W无法使用,因为它们将下划线包含为字母数字字符。)

答案 1 :(得分:1)

我不熟悉ASP.NET客户端验证器,所以我不确定你是否需要在正则表达式中执行此操作,但可能一个简单的解决方案如下:< / p>

  1. 删除所有非字母数字字符(正则表达式替换为[^0-9A-Za-z])。
  2. 检查字符串长度是否为3或更长。