使用的RegularExpressionValidator限制字数?
-
20-09-2019 - |
题
我想使用ASP.NET的RegularExpressionValidator限制在文本框中的字的数量。 (该的RegularExpressionValidator是我的有利解决方案,因为它会做客户端和服务器端检查)。
那么,什么是正确的正则表达式来放在的RegularExpressionValidator会算的话并执行一个字的限制?为,可以说,150个字。
(NB:看到这个问题是给予类似,但答案似乎也依赖于这样的代码斯普利特(),所以我不认为任何人可以插入这就是为什么我再次问)一个的RegularExpressionValidator
解决方案
由于^
和$
是隐式设置与RegularExpressionValidators 一>,使用下列:
(\S*\s*){0,10}
在0这里允许空字符串(更具体地0字)和150是单词接受的最大数量。这些根据需要调整,以增加/减小接受的字的数量。
在上述正则表达式是不贪婪,所以你会得到的诗句在您引用的问题给出一个更快的比赛。 (\b.*\b){0,10}
是贪婪的,所以你增加单词的数量,你会看到性能下降。
其他提示
下面是用于正则表达式的快速参考: http://msdn.microsoft.com/en-us/library/az24scfc.aspx
您可以使用该网站,测试表达式: http://regexpal.com/
下面是我与最小和最大字计数工作(并固定错误与领先的间距)的正则表达式的例子:
^\s*(\S+\s+|\S+$){10,150}$
检查这个网站:
http://lawrence.ecorp.net/inet/samples /regexp-validate.php#count
它的JavaScript正则表达式,但非常类似于asp.net
其是这样的:
(\苯并[a-Z0-9] + \湾*){4,}