如果想让input文本框只能输入数字,也就是不带小数点的正整数数字,这个时候需要将我们的input文本框修改一下,html代码如下。
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onblur="this.value=this.value.replace(/\D/g,'')">
onkeyup:表示键盘在输入数字的时候,如果输入了除数字以外的所有字符,该字符都将被替换为空、
onblur:表示当光标失去焦点时,除了数字以外的所有字符都将被替换为空,这就防止了有人不用键盘,而用鼠标直接复制粘贴一个小数而不能替换的问题。
有很多js教程是这样的,把onblur事件部分换成onafterpaste,其实都是错误的!都是复制粘贴党,如下这种情形。
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
告诉各位,根本就没有所谓的paste相关的事件,如onbeforepaste,onafterpaste,onpaste,这些都是错误的,别被误导了。