为什么';我的javascript函数是否允许点而不是连字符?

为什么';我的javascript函数是否允许点而不是连字符?,javascript,jquery,asp.net,validation,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;

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

function isNumberKeyDotAllowed(evt) {
    var charCode = evt.which ? evt.which : evt.keyCode;
    if (charCode == 46 || (48 <= charCode && charCode <= 57)) {
        return true;
    }
    else {
        return false;
    }
}
函数不允许使用(evt){
var charCode=evt.which?evt.which:evt.keyCode;

如果(charCode==46 | | |(48只需在html onKeydown中而不是onKeypress中尝试一次,可能会有帮助,因为我认为它的更新值不匹配

请尝试以下操作:

  <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>

函数isNumOrDot(e){
var nums=[48,49,50,51,52,53,54,55,56,57190/*点*/,,
96,97,98,99100101102103104105,/*Num键*/
110/*num dot*/];
返回nums.indexOf(e.which)>-1;
}

onkeydown=“return…是关键。

charCode vs.keyCode在这里看一看不起作用。请找出可能重复yes的问题,但这并不能回答问题,这就是原因
  <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>