关于表单验证的一些问题

三个类名相同的输入框,要限制只能输入正整数,怎么才能只写一次js其他都可以用?
我的代码:
html:
<input type="text" class="number" id="number"/>
<input type="text" class="number"/>
<input type="text" class="number"/>
//js:以下写法改成获取类名,不起作用
<script>

var myinput = document.getElementById("number");
console.log(myinput);
myinput.onkeyup = function(){
    if(!/^[1-9][0-9]{0,2}$/.test(this.value)){
        this.value = "";
    }
};
myinput.onbeforepaste = function(){/*复制*/
    clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''));
}

</script>

阅读 2.2k
2 个回答

亲测可用

var myinput = document.getElementsByClassName("number");
for (var i=0;i<myinput.length;i++) {
    myinput[i].onkeyup = function(){
    if(!/^[1-9][0-9]{0,2}$/.test(this.value)){
        this.value = "";
    }
};
}

求更优雅的解决方法

这样也可以啊

$('body').on('keypress','input.number',function(e){

})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题