一. 前提知识
⏹如下代码所示,我们可以在html的事件属性里面书写JS代码
当我们在input输入内容的时候,触发input事件,触发oninput事件属性中的JS代码
<label for="ipt1">在此处输入一些文字</label>
<input type="text" id="ipt1"
oninput="javascript:document.getElementById('pTag').innerHTML = '输入的文字是:' + this.value">
<p id="pTag"></p>
二. 应用
2.1 input输入框只允许输入数字
⏹使用了正则表达式,每输入一次就将非数字的字符替换非空白。
this
代表输入文本的input框本身。
<label for="ipt2">只能输入[数字]</label>
<input type="text" id="ipt2" oninput="this.value = this.value.replace(/[^\d]/g,'')">
2.2 input输入框只允许输入数字和:
⏹只允许输入 数字 和 :,其中(?!指定允许输入的符号)
<label for="ipt3">只能输入[数字]和[:]</label>
<input type="text" id="ipt3" oninput="this.value = this.value.replace(/[^(?!:)\d]/g,'')">
2.3 JS版本
<body>
<label for="ipt2">只能输入[数字]</label>
<input type="text" id="ipt2" />
<hr>
</body>
<script>
document.querySelector('#ipt2').addEventListener('input', function() {
this.value = this.value.replace(/[^\d]/g,'');
})
</script>