Javascript 在移动浏览器上只输入数字

Javascript 在移动浏览器上只输入数字,javascript,mobile,input,Javascript,Mobile,Input,我想要一个输入字段,您只能在其中键入数字(没有逗号、点、hashtags等)。我有以下javascript代码: function nummer(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; }

我想要一个输入字段,您只能在其中键入数字(没有逗号、点、hashtags等)。我有以下javascript代码:

function nummer(evt)
{
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
    {
        return false;
    }
    return true;
}
函数numer(evt)
{
var charCode=(evt.which)?evt.which:event.keyCode
如果(字符码>31&(字符码<48 | |字符码>57))
{
返回false;
}
返回true;
}
还有HTML

<input name="pers" type="tel" required="required" id="pers" autocomplete="off" onkeypress="return nummer(event)" size="2" maxlength="2" />

在桌面浏览器上,这是完美的,但在移动浏览器上,您仍然可以键入逗号、标签等


有人知道问题出在哪里吗?

您是否尝试过使用HTML5的模式属性。对于您的情况,它将是这样的
pattern=“{0-9}”
。在此模式中,用户还可以输入字母和符号,但在用户只输入数字之前表单不会提交。

将此属性添加到
模式=“\d+”
到只接受数字作为输入的输入标记中

如何输入type=“number”?移动浏览器是否完全支持javascript…@StijnBernards同样的问题。@Rakshit是的,它在最新版本的chrome for android和windows phone(标准浏览器)上进行了测试。很好,这就成功了。如果标准消息填写不正确,有没有办法更改它?您可以先使用
title=“Your message”
来分配它,然后如果您以后要更改它,您必须为输入标记分配一个id,然后在javascript中使用此
文档。getElementById(“您的id”).title=“Changed message”。非常感谢,这太完美了!