昨天写了关于input输入框的最大字数的限制,今天完善一下:
使用正则表达式,清除输入框非数字的非法输入
首先了解下正则表达式:
/\D+/g 意思是匹配所有非数字的字符
步入正题,上代码:
<input type='text' onkeyup="this.value=this.value.replace(/\D/g,'')/>
这是一个onkeyup事件,键盘按键被松开时触发把非数字的字段置换为空,即输入非数字字符就会被清除
但是如果是粘贴来的字符就会有问题了,下面这个是终极解决方法:
<input type='text' onkeyup="this.value=this.value.replace(/\D/g,'')
onafterpaste="this.value=this.value.replace(/\D/g,'')/>
加上onafterpaste事件后就不用担心字符是粘贴过来的了