仅接受TextBox ASP.NET上的数字

时间:2010-06-21 21:54:16

标签: asp.net visual-studio textbox numbers

我有TextBox&我想在输入时在此TextBox中接受numbers

感谢。

3 个答案:

答案 0 :(得分:2)

我使用以下客户端代码执行此操作:

jQuery.fn.ForceNumericOnly =
function()
{
    return this.each(function()
    {
        $(this).keydown(function(e)
        {
            var key = e.charCode || e.keyCode || 0;
            // allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY
            return (
                key == 8 || 
                key == 9 ||
                key == 46 ||
                (key >= 37 && key <= 40) ||
                (key >= 48 && key <= 57) ||
                (key >= 96 && key <= 105));
        })
    })
};

然后在我的aspx页面中,我将它附加到我的TextBox:

$(document).ready(function()
{
    $("#<%= txtMyTextBox.ClientID %>").ForceNumericOnly();
});

这只是客户端检查,因此请务必使用类似Int32.TryParse的数据对服务器端进行检查,以确保存在数字。

答案 1 :(得分:1)

实现此目的的一个好方法是在Ajax控件工具包中使用MaskedEditExtender

示例页面甚至还有一个演示,用于将用户输入限制为仅数字和数字相关的字符。

答案 2 :(得分:0)

如果您使用AjaxControlToolkit,请考虑FilteredTextBox扩展程序。

<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="YourTextBoxID" FilterType="Numbers" FilterMode="ValidChars" />