You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET TextBox如何设置仅允许输入数字和空格的正则验证规则

ASP.NET Web Forms 多行文本框数字+空格校验修正方案

你原先的正则表达式存在3处逻辑错误,导致校验不生效:

  • 字符集定义错误:[0-100' ']属于无效字符集写法,方括号内仅支持单个字符或连续字符范围,0-100会被识别为「0、1」两个合法字符,加单引号包裹空格反而会把单引号也纳入允许输入的字符范围
  • 长度规则倒置:{100,}表示最少输入100个字符,和你需要的最多100位的要求完全相反
  • 缺少首尾限定:正则未加^、$首尾匹配符,只要字符串中间有一段符合规则就会通过校验,无法拦截首尾的非法字符

正确配置代码

直接替换你的控件代码即可:

<asp:TextBox ID="txtCopied" runat="server" TextMode="MultiLine" 
Height="200px" Width="617px" />
                                                        
<asp:RegularExpressionValidator ID="rvDigits" runat="server" 
ControlToValidate="txtCopied" ErrorMessage="仅允许输入数字和空格,总长度最多100位" 
ValidationGroup="valGroup" ForeColor="Red" ValidationExpression="^[0-9 ]{1,100}$"  />

可选调整项

  • 若允许文本框留空,把正则中的{1,100}修改为{0,100}
  • 若需要支持换行输入,把正则中的字符集修改为[0-9 \r\n]即可

内容的提问来源于stack exchange,提问作者Sky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:36:09