1
<input type='text' inputmode='numeric' pattern='[0-9]+'>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function validateInut (el) {
el.addEventListener("beforeinput", function (e) {
let beforeValue = el.value;
e.target.addEventListener(
"input",
function () {
if (el.validity.patternMismatch) {
el.value = beforeValue;
}
},
{ once: true }
);
})
}

ONLINE DEMO

拓展: MDN - ValidityState