为什么我的javascript函数不允许点但是允许连字符?

时间:2016-04-16 11:35:33

标签: javascript jquery asp.net validation

我使用此代码只允许在文本框中输入数字,但现在我也想允许.。我修改了此代码,但它不允许.,而是允许连字符-

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

按钮:

<asp:TextBox runat="server" ID="txtBoxAreaSqft" OnTextChanged="txtBoxAreaSqft_TextChanged"
                                                    PlaceHolder="Enter Digits Only" onkeypress="return isNumberKeyDotAllowed(event)" Enabled="true" AutoPostBack="true" CssClass="form-control"></asp:TextBox>

2 个答案:

答案 0 :(得分:0)

只需尝试一次在html onKeydown而不是onKeypress可能有帮助因为我的事情所以它的更新值不匹配

答案 1 :(得分:0)

试试这个:

  <asp:TextBox ID="txt" runat="server" onkeydown="return isNumOrDot(event)" />

<script>
function isNumOrDot(e){
    var nums = [48,49,50,51,52,53,54,55,56,57,190/*dot*/,
                96,97,98,99,100,101,102,103,104,105,/*Num keys*/
                110 /*num dot*/];
    return nums.indexOf(e.which)>-1;
}
</script>

onkeydown =&#34; 返回 ...是关键。