Javascript 将(";&x2B";)添加到仅限数字的按键向下事件

Javascript 将(";&x2B";)添加到仅限数字的按键向下事件,javascript,Javascript,如何将+符号添加到我的“仅数字”函数中 允许用户在文本框中插入+227 728 3389 目前,用户可以插入0到9之间的任何内容,并且不能使用A到Z字母,但现在我希望允许0到9以及0到9和+符号: //my function is as follows: function numbersOnly(evt){ var charCode = (evt.which) ? evt.which : event.keyCode if(charCode > 31 &&(

如何将+符号添加到我的“仅数字”函数中 允许用户在文本框中插入+227 728 3389 目前,用户可以插入0到9之间的任何内容,并且不能使用A到Z字母,但现在我希望允许0到9以及0到9和+符号:

//my function is as follows:

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


}
//我的函数如下:
仅限功能编号(evt){
var charCode=(evt.which)?evt.which:event.keyCode
如果(字符码>31&(字符码<48 | |字符码>57))
返回false;
返回true;
}

下面是一个示例,如果字符不是数字或加号,则会阻止输入:

var KeyCode = {
  ZERO : 48,
  NINE : 57,
  PLUS : 43
}
function isDigit(key) {
  return key >= KeyCode.ZERO && key <= KeyCode.NINE;
}

function numbersOnly(evt) {  
  var charCode = (evt.which) ? evt.which : event.keyCode

  if (!isDigit(charCode) && charCode !== KeyCode.PLUS){
    return false;
  }
  return true;   
}
var-KeyCode={
零:48,,
九点五十七分,
加:43
}
功能isDigit(键){

return key>=KeyCode.ZERO&&key对于regex来说似乎是一个很好的解决方案。我不想费心用keydown事件来强制执行它。只需做一点输入验证。如果你可以使用html5,像
这样的东西就可以做到。确保你也总是在服务器上进行输入验证。如果你仍然想使用它在keydown事件中,为什么不“拉”输入字段前面的+(
+
)。如果您愿意,您可以稍后在服务器端将+添加到您的值中。这是一个js fiddle示例。您可以尝试更新fiddle中的示例吗?请使用正确观察到的加号键值更新答案。请在您感兴趣的设备/浏览器上测试它。此外,请阅读Sumurai8的评论,因为这是一个问题此外,建议的电话号码输入类型是“tel”,而不是“number”。