我想使用ASP.NET RegularExpressionValidator来限制文本框的字数。RegularExpressionValidator是我最喜欢的解决方案,因为它可以同时进行客户端和服务器端的检查)。
那么,正确的Regex应该放在RegularExpressionValidator中,以计算字数并执行字数限制?比如说,150个字。
(注:我看到 这个问题 是类似的,但给出的答案似乎也依赖于诸如Split()这样的代码,所以我不认为它们中的任何一个都可以插入到RegularExpressionValidator中,这就是为什么我再次问)
自此,我想使用ASP.NET正则表达式验证器来限制文本框中的字数。^
和 $
是 用正则表达式Validators隐式设置。,使用如下。
(\S*\s*){0,10}
这里的0是允许空字符串(更确切的说是0个字) 150是接受的最大字数。 根据需要调整这些参数以增加或减少接受的字数。
上面的regex是非贪婪的,所以你会得到一个更快的匹配与你参考的问题中给出的。(\b.*\b){0,10}
是贪婪的,所以当你增加字数时,你会看到性能下降。
下面是正则表达式的快速参考。http: /msdn.microsoft.comen-uslibraryaz24scfc.aspx
你可以使用这个网站来测试表达式。http:/regexpal.com
这是我的regex例子,它可以同时适用于最小和最大字数(并修复了前导空格的错误)。
^\s*(\S+\s+|\S+$){10,150}$
请看这个网站。
http:/lawrence.ecorp.netinetsamplesregexp-validate.php#count
这是JavaScript的RegEx,但它与asp.net非常相似。
是这样的
(\b[a-z0-9]+\b.*){4,}