为什么我的代码不允许特定符号?

时间:2016-04-15 19:33:09

标签: javascript asp.net

我使用此代码只允许在文本框中输入数字,但现在我也想允许.。我修改了这段代码但没有工作。

function isNumberKeyDotAllowed(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode == 46)
        return false;

    return true;
}

标记中的TextBox声明:

<asp:TextBox runat="server" ID="txtBoxApplicantCNICNo"
    onkeypress="return isNumberKeyDotAllowed(this)" AutoPostBack=True 
    OnTextChanged="txtCHan_event" CssClass="form-control">

1 个答案:

答案 0 :(得分:0)

我发现您的代码存在两个问题。第一个是您将this作为参数传递给isNumberKeyDotAllowed,而您应该通过event

onkeypress="return isNumberKeyDotAllowed(event);"

第二个是验证条件。这是我自己的功能版本。我定义了成功的条件而不是失败的条件,因为我更容易弄明白:

function isNumberKeyDotAllowed(evt) {
    var charCode = evt.which ? evt.which : evt.keyCode;
    if (charCode == 46 || (48 <= charCode && charCode <= 57)) {
        return true;
    }
    else {
        return false;
    }
}