Js keypress备忘以及只允许输入数字

浏览:1805 发布日期:2015-10-22 06:42:39

比如我有这样一个需求,所有number类型的输入框只允许输入数字和小数点,我们可以监听keypress事件:


$("[type='number']").keypress(function (event) //对number类型的输入框只允许输入数字和小数点        
{            
    var val = this.value;
    //String.fromCharCode(event.charCode),获取当前键入的数字,如果是小数点的化,判断首位是数字或者已存                        
    if (String.fromCharCode( event.charCode ) == ".") //在数字的化,阻止输入          
    {                
          if (val.length == 0 || val.indexOf(".", 1) != -1)//首位不能为.,已存在.,也阻止输入
          {                    
              event.preventDefault();                
          }            
    }            
    else if (!/\d/.test(String.fromCharCode(event.charCode))) //如果输入的不是数字的化,也阻止其输入。            
    {                
         event.preventDefault();            
    }        
});