阻止用户在ASP.NET文本框中输入非数字数据

时间:2011-10-14 06:19:01

标签: asp.net

我正在使用VS2010 / C#开发ASP.NET Web项目,我有一些文本框,用户只能在其中输入数字,如何防止用户输入非数字,浮点数和负数在我的文本框中?当然我可以检查服务器端代码中输入的数字,但我认为将数据发送到服务器并执行验证将花费大量时间,有没有办法阻止用户输入非数字值?或者至少不向数据不正确的服务器发送数据?

感谢

2 个答案:

答案 0 :(得分:2)

只需使用一些javascript并应用于所需的文本框,然后它将不允许除数字之外的其他文章,请参阅以下代码部分。

 <script language="JavaScript">
function onlyNumbers(evt)
{
    var e = event || evt; // for trans-browser compatibility
    var charCode = e.which || e.keyCode;

    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;

}
</script>

编辑:

<asp:textbox id="txtNOD" runat="server" Width="52px" Font-Size="10px" 
 Font-Names="Verdana" Height="16px" Enabled="False" onkeypress="return onlyNumbers();"></asp:textbox>

答案 1 :(得分:1)

您可以使用ASP.NET validation控件或编写JavaScript来处理文本/键事件,甚至可以尝试jQuerypluging来验证用户输入。< / p>