首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RegularExpressionValidator在asp.net中不工作1或2位数

RegularExpressionValidator在asp.net中不工作1或2位数
EN

Stack Overflow用户
提问于 2017-08-25 18:47:28
回答 3查看 1K关注 0票数 1

我读过关于RegularExpressionValidator的其他问题的答案,但它们没有帮助。我正在开发一个ASP.NET C#应用程序,我有一个文本字段,需要一个1到2位数字。下面是控件:

代码语言:javascript
运行
复制
<asp:TextBox 
    ID="Hunt_Daily_Sitting_hrs" 
    runat="server" 
    class="form-control" 
    placeholder="hours" 
    type="number"></asp:TextBox>

正如所写的,尽管它指定了type=“数字”,但它允许数学运算符。因此,人们已经进入"6-8“,就像在"6到8小时”。在页面上,正则表达式^\d{1,2}$标志这样的条目。然而,在我的应用程序中,行

代码语言:javascript
运行
复制
<asp:RegularExpressionValidator 
    ID="HuntSitRegexp" 
    Display="Dynamic" 
    ControlToValidate="Hunt_Daily_Sitting_hrs" 
    ValidationExpression="^\d{1,2}$" 
    runat="server" 
    ErrorMessage="Please enter a number from 1-24" 
    Font-Size="Large" 
    ForeColor="Red" />

不会的。一个3位数的数字会立即被标记,但是像"6-8“这样的条目不会立即被标记。然而,像"6-8“这样的条目确实失败了,因为"Submit”按钮什么也不做,这表明Javascript验证失败了。因此,用户会思考,“表单有什么问题?它不会提交,但是没有错误消息。”

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-25 22:51:05

ValidationExpression="^\d{1,2}$"很好,但是对于number类型的输入没有启用regex检查。

因此,您需要将asp:TextBox控件type="number"更改为type="text"

票数 1
EN

Stack Overflow用户

发布于 2017-08-25 18:57:31

试试这个Reg Ex

代码语言:javascript
运行
复制
^[0-9]{1,2}$
票数 0
EN

Stack Overflow用户

发布于 2017-08-29 15:45:30

我认为改变类型的答案是正确的。但是,我注意到您的ValidationExpression=“^d{1,2}$”

和ErrorMessage=“请输入一个数字从1-24”不匹配。它将需要任何1-2位数。

只匹配数字1-24的RegEx表达式如下:^(\d)$|^(1\d)$|^(20-4)$

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

https://stackoverflow.com/questions/45887775

复制
相关文章

相似问题

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