首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制输入长度并允许空字符串的RegularExpressionValidator

问限制输入长度并允许空字符串的RegularExpressionValidator
EN

Stack Overflow用户
提问于 2015-03-21 03:24:53
回答 3查看 568关注 0票数 0

我真的很不擅长使用正则表达式,并且正在考虑另一个与此几乎相同的问题,但我无法让它按我需要的方式工作。

我使用的是一个RegularExpressionValidator,它允许最多255个字符的任何字符,或者根本不允许任何字符。我试过了

代码语言:javascript
复制
ValidateExpression="^.{255}$" 

但当我检查的文本框为空时,它会抛出一个未处理的异常。

我也试过

代码语言:javascript
复制
ValidateExpression="^.{,255}$"

谢谢你罗德尼

EN

回答 3

Stack Overflow用户

发布于 2015-03-21 03:28:38

你试过^.{0,255}$吗?不确定你得到的是什么异常。

编辑:另外,如果正在为.Net正则表达式而苦苦挣扎,Regex Hero tester将是一个很好的帮助。我知道还有其他网站,但如果你问我,这个网站是目前为止最好的。

票数 0
EN

Stack Overflow用户

发布于 2015-03-21 04:37:01

正确的表达式是^.{0,255}$。

只有当恰好有255个字符时,^.{255}$才会匹配,而^.{,255}$将匹配文字字符串"{,255}“。

如果在尝试之后仍然有问题,你能告诉我们例外情况吗?

票数 0
EN

Stack Overflow用户

发布于 2015-03-21 05:48:21

如果它抛出HttpRequestValidationException异常,您可以使用UnvalidatedRequestValues class的成员。

记住“如果输入控件为空,则验证成功”(MSDN。您可以添加RequiredFieldValidator字段以确保用户不会将文本框留空(如果在UpdatePanel控件中使用RequiredFieldValidator控件,请确保验证器控件和与其关联的控件位于同一面板中- MSDN

代码语言:javascript
复制
<asp:textbox id="myTB" 
  runat="Server">
</asp:textbox>
//  ... MAKE SURE YOU DO NOT USE TextMode="Number"!!!
<asp:RequiredFieldValidator
           ID="Value1RequiredValidator"
           ControlToValidate="myTB"
           ErrorMessage="Please enter a number.<br />"
           Display="Dynamic"
           runat="server"/>

至于正则表达式,^.{255}$意味着匹配字符串开始和结束之间的任何字符(换行符除外) 255次。我认为允许^[1-9][0-9]{0,254}$ (对于像'34','104‘之类的值)是有意义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29174363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档