我想使用 ASP.NET RegularExpressionValidator 来限制文本框中的字数。 (RegularExpressionValidator 是我最喜欢的解决方案,因为它会同时进行客户端和服务器端检查)。
那么,在RegularExpressionValidator 中放入计算单词并强制执行字数限制的Regex 中的正确正则表达式是什么?比如说,150 个字。
(注意:我看到 this question 是相似的,但给出的答案似乎也依赖于诸如 Split() 之类的代码,所以我认为它们中的任何一个都不能插入 RegularExpressionValidator 这就是我再次询问的原因)
最佳答案
自 ^
和 $
是 implicitly set with RegularExpressionValidators ,使用以下内容:
(\S*\s*){0,10}
这里的 0 允许空字符串(更具体地说是 0 个单词),150 是接受的最大单词数。根据需要调整这些以增加/减少接受的字数。
上面的正则表达式是非贪婪的,因此与您引用的问题中给出的匹配相比,您将获得更快的匹配。
(\b.*\b){0,10}
是贪婪的,因此随着您增加单词数量,您会看到性能下降。
关于asp.net - 使用 RegularExpressionValidator 来限制字数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1526881/