asp:Textbox type=number 允许 "e"
asp:Textbox with type=number allowing "e"
我目前正在制作一个带有 asp:TextBox 字段的 asp.net 网页,我将 TextBox 设置为 type=number,现在它只接受数字,但有一个例外。它还接受字母 "e"。有人知道可能导致此问题的原因以及解决方法吗?
<asp:TextBox CssClass="form-control" type="number" id="LotNumber" placeholder="Lotnummer" runat="server" Text="<% $RouteValue:ordernummer %>"/>
10^20 = 1e+20
这是一个符号。我想这就是为什么 "e" 被允许
编辑:
在你的情况下,如果你想阻止 "e"、浮点数和负数,你应该像这样更改你的 ASP 文本框:
<asp:TextBox CssClass="form-control" type="text" pattern="[0-9]+" id="LotNumber" placeholder="Lotnummer" runat="server" Text="<% $RouteValue:ordernummer %>"/>
您可以使用 RegularExpressionValidator。
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="Please enter only digits" ValidationExpression="\d+"></asp:RegularExpressionValidator>
您可以使用 JavaScript 来完成此操作。请检查以下代码:
<asp:TextBox CssClass="form-control" type="number" id="LotNumber" placeholder="Lotnummer" runat="server" onkeypress="return isNumberKey(event)" Text="<% $RouteValue:ordernummer %>"/>
请将以下代码粘贴到您页面的标记中:
<SCRIPT language=Javascript>
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</SCRIPT>
我目前正在制作一个带有 asp:TextBox 字段的 asp.net 网页,我将 TextBox 设置为 type=number,现在它只接受数字,但有一个例外。它还接受字母 "e"。有人知道可能导致此问题的原因以及解决方法吗?
<asp:TextBox CssClass="form-control" type="number" id="LotNumber" placeholder="Lotnummer" runat="server" Text="<% $RouteValue:ordernummer %>"/>
10^20 = 1e+20
这是一个符号。我想这就是为什么 "e" 被允许
编辑:
在你的情况下,如果你想阻止 "e"、浮点数和负数,你应该像这样更改你的 ASP 文本框:
<asp:TextBox CssClass="form-control" type="text" pattern="[0-9]+" id="LotNumber" placeholder="Lotnummer" runat="server" Text="<% $RouteValue:ordernummer %>"/>
您可以使用 RegularExpressionValidator。
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="Please enter only digits" ValidationExpression="\d+"></asp:RegularExpressionValidator>
您可以使用 JavaScript 来完成此操作。请检查以下代码:
<asp:TextBox CssClass="form-control" type="number" id="LotNumber" placeholder="Lotnummer" runat="server" onkeypress="return isNumberKey(event)" Text="<% $RouteValue:ordernummer %>"/>
请将以下代码粘贴到您页面的标记中:
<SCRIPT language=Javascript>
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</SCRIPT>