Javascript 如何在不将type设置为number的情况下限制html输入类型文本中的字符串

Javascript 如何在不将type设置为number的情况下限制html输入类型文本中的字符串,javascript,html,input,Javascript,Html,Input,我有这行html代码 <input type="text" minlength="12" maxlength="12" name="phone" placeholder="eg: 254700000000" required/> 我希望它只接受数字。我使用type作为文本的原因是,我还希望使用minlength和maxlength属性。我如何做到这一点?或者,如何使用输入类型

我有这行html代码

<input type="text"  minlength="12" maxlength="12" name="phone" placeholder="eg: 254700000000" required/> 


我希望它只接受数字。我使用type作为文本的原因是,我还希望使用minlength和maxlength属性。我如何做到这一点?或者,如何使用输入类型number,并使minlength和maxlength正常工作?

您必须在该输入的
change
事件上设置JS事件处理程序

const input=document.getElementById(“输入”);
input.addEventListener(“更改”,(e)=>{
console.log(输入值);
如果(!e.target.value.match(/^\d*$/){
input.value=e.target.value.split(“”).filter(c=>/\d/.test(c)).join(“”);
}
});

您是否有一个事件处理程序,或者它只是一个表单提交?嗯,您可以使用检查输入值的长度作为minlength和maxlength的替代