Javascript 如何使输入字段仅接受数字

Javascript 如何使输入字段仅接受数字,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个数字类型的输入字段,所以它只能接受数字 -我使用正则表达式限制用户输入特殊字符 -它在系统上运行良好,但在小型设备上,如在我的手机上,键盘类型仅为数字,但当我点击时,它会取 我不想要 我所做的 $('test')。在('keypress',函数(事件)上{ var regex=new RegExp(“^[0-9]+$”); var key=String.fromCharCode(!event.charCode?event.which:event.charCode); 如果(!正则表达式

我有一个数字类型的输入字段,所以它只能接受数字 -我使用正则表达式限制用户输入特殊字符 -它在系统上运行良好,但在小型设备上,如在我的手机上,键盘类型仅为数字,但当我点击时,它会取 我不想要

我所做的

$('test')。在('keypress',函数(事件)上{
var regex=new RegExp(“^[0-9]+$”);
var key=String.fromCharCode(!event.charCode?event.which:event.charCode);
如果(!正则表达式测试(键)){
event.preventDefault();
返回false;
}
});

/*函数只允许数字和小数*/
$(文档).on('keypress','#test',函数(eve){
if((eve.which!=45 | | | eve.which!=46 | |$(this.val().indexOf('.')!=-1)
&&(eve.which<48 | | eve.which>57)
||($(this.val().indexOf('.')==0)
)
{
eve.preventDefault();
}
})

使用此正则表达式不允许
-
字符以
开头:


请参阅working fiddle:

首先检查在中浏览时是否加载了正确的jsphone@brk是的,一切都是正确的为什么我没有得到你们所有人的反对票:(@RahulSharma是的,它起作用了thanx:),我使用了错误的正则表达式模式,请上传一个答案,以便我能正确地标记它。请尝试一下。请发布结果。它在MobilePO上使用了
-
,它不使用逗号,但使用了
-
,就像我上传了图片一样。参考你发现了什么吗
 /* Function allows only numbers and decimal */
$(document).on('keypress','#test',function(eve) {
    if ((  eve.which != 45 ||eve.which != 46 || $(this).val().indexOf('.') != -1 ) 
         && ( eve.which <  48 || eve.which > 57 ) 
         || ( $(this).val().indexOf('.') == 0) 
       )
       {
            eve.preventDefault();
       }
 })
/^\d*[.]?\d*$/