input限制輸入
要求:input框只能輸入0-12的數字,且當輸入數字大於12,則值為最大值12,輸入數字小於0,則值為最小值0。
<input type="text" oninput="limiteValue(this)" onpropertychange="limiteValue(this)"/>
註:oninput 事件在用戶輸入時觸發。該事件在 <input> 或 <textarea> 元素的值發生改變時觸發。這裏主要應用於非IE瀏覽器下值的改變時觸發該oninput事件。
而IE9以下版本的瀏覽器不支持oninput事件,所以需要使用ie的專屬事件onpropertychange(屬性值改變時觸發)。
提示: oninput,onpropertychange事件類似於 onchange 事件。不同之處在於 oninput,onpropertychange 事件在元素值發生變化是立即觸發, onchange 在元素失去焦點時觸發,且onpropertychange為IE專屬。
function limiteValue(obj){
obj.value=obj.value.replace(/[^\d]/g,‘‘);//輸入的值僅是數字
if(obj.value>12){
obj.value=12;
}
if(obj.value<0){
value=0;
}
if(obj.value.length>2){ //2位數字
obj.value=obj.value.slice(0,2);
}
if(obj.value.substr(0,1) == ‘0‘ && obj.value.length == 2){ //當輸入00,01這類時,去除首數字0
obj.value= obj.value.substr(1,obj.value.length);
}
}
input限制輸入