引言
最初是在网上搜索layui input框输入整数,网上查出来的结果基本上都是一样,使用的都是onkeyup,onkeyup是按键弹起时触发,因此在输入的时候会先显示字符后再清除,换成oninput后就能解决这个问题,如果要IE支持,还需要加上onpropertychange
oninput 是 Chrome 支持的,onpropertychange 是 IE 支持的
示例
html
<input type="text" name="xx" placeholder="长度" oninput="value=intVal(this.value)">
js
/**
* 转化正整数
* @param value
* @returns {string|number}
*/
function intVal(value){
value = value.replace(/[^\d]/g,'');
if (value) {
value = parseInt(value);
} else {
value = ''
}
return value;
}