1. 程式人生 > >input限制輸入

input限制輸入

最小值 input事件 數字0 prop ace 變化 大於 支持 數字

要求: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限制輸入