如何将键码图表上的 190 字符 (.) 句号包含在允许的键中?

How to get the character (.) full stop which is 190 on the keycode chart to be included in the allowable keys?

下面的代码有效,但我无法获得 190 作为允许的密钥的一部分。最终的objective是让用户只能输入(0-9)和一个小数点(.)。

function isNumber(evt) {
  evt = (evt) ? evt : window.event;
  var charCode = (evt.which) ? evt.which : evt.keyCode;
  if (evt.which != 8 && evt.which != 0 
      && (evt.which < 48 || evt.which > 57) 
      && evt.charCode != 190) {
    return false;
  }                
  return true;
}

正如您在本网站上看到的那样http://www.asquare.net/javascript/tests/KeyCode.html返回的字符代码与 onKeyDown、onKeyPress 和 onKeyUp 不同。

编辑:
使用 jquery 添加了此工作示例,但对于 javascripts nativ 按键事件应该是相同的。

// with jQuery
function isNumber(evt) {
  evt = (evt) ? evt : window.event;
  var charCode = (evt.which) ? evt.which : evt.keyCode;
  if (evt.which != 8 && evt.which != 0 
      && (evt.which < 48 || evt.which > 57) 
      && evt.charCode != 46 // IMPORTANT keypress charCode 46 == ".",  String.fromCharCode(46) -> "."
                            ) {
    return false;
  }                
  return true;
}

$("input").keypress(function(e) {
  if (isNumber(e)) {
    result = "Is a number";
  } else {
    result = "Is not a number";  
  }
  console.log(result);
  $("#result").html(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">
<div id="result">result</div>