使用RegularExpressionValidator来限制字数?

cod*_*ike 4 regex asp.net validation word-count

我想使用ASP.NET RegularExpressionValidator来限制文本框中的单词数.(RegularExpressionValidator是我最喜欢的解决方案,因为它将同时进行客户端和服务器端检查).

那么正确的正则表达式放在RegularExpressionValidator中,它会计算单词并强制执行单词限制?可以说,150字.

(注意:我看到这个问题是类似的,但给出的答案似乎也依赖于像Split()这样的代码,所以我认为它们中的任何一个都不能插入RegularExpressionValidator,这就是为什么我要再问一次)

Gav*_*ler 5

由于^$隐式RegularExpressionValidators设置,使用以下命令:

(\S*\s*){0,10}
Run Code Online (Sandbox Code Playgroud)

这里的0允许空字符串(更具体地说是0个字),150是要接受的最大字数.根据需要调整这些以增加/减少接受的单词数.

上面的正则表达式是非贪婪的,所以你会得到一个比你引用的问题更快的匹配.(\b.*\b){0,10}贪婪,所以当你增加单词数量时,你会看到性能下降.