asp.net - 使用 RegularExpressionValidator 来限制字数?

标签 asp.net regex validation word-count

我想使用 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/

相关文章:

c# - Reader 没有读取 DB 值

c# - OR 正则表达式中的表达式?

jsf - JSF 和 Richfaces 中的错误消息

java - spring mvc 中的 Bean 验证和请求参数

asp.net - 在formview中使用验证器时,输入参数 'controlId'不能为空字符串

asp.net - 为什么我无法在运行时编辑 ASP.NET Web 应用程序?

c# - OAuthWebSecurity 创建帐户 - 它是如何工作的?

c# - 使用存储过程将值列表插入到 SQL Server 表中

java - 正则表达式仅捕获直到在 Java 字符串中第一次找到一个字符

java - java中使用正则表达式捕获变量