使用RegularExpressionValidator来限制字数?

问题描述 投票:4回答:3

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

那么,正确的Regex应该放在RegularExpressionValidator中,以计算字数并执行字数限制?比如说,150个字。

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

asp.net regex validation word-count
3个回答
5
投票

自此,我想使用ASP.NET正则表达式验证器来限制文本框中的字数。^$用正则表达式Validators隐式设置。,使用如下。

(\S*\s*){0,10}

这里的0是允许空字符串(更确切的说是0个字) 150是接受的最大字数。 根据需要调整这些参数以增加或减少接受的字数。

上面的regex是非贪婪的,所以你会得到一个更快的匹配与你参考的问题中给出的。(\b.*\b){0,10} 是贪婪的,所以当你增加字数时,你会看到性能下降。


1
投票

下面是正则表达式的快速参考。http: /msdn.microsoft.comen-uslibraryaz24scfc.aspx

你可以使用这个网站来测试表达式。http:/regexpal.com

这是我的regex例子,它可以同时适用于最小和最大字数(并修复了前导空格的错误)。

^\s*(\S+\s+|\S+$){10,150}$

0
投票

请看这个网站。

http:/lawrence.ecorp.netinetsamplesregexp-validate.php#count

这是JavaScript的RegEx,但它与asp.net非常相似。

是这样的

(\b[a-z0-9]+\b.*){4,}
© www.soinside.com 2019 - 2024. All rights reserved.