input只能输入 数字 浮点

小数点“.” 在keydown中为190 在keypress中为46

$("#testInput").live("click", this, function () {/*控制光标在最后*/
   var curVal = $(this).val();
   var ran = this.createTextRange();
   ran.moveStart('character', curVal.length);
   ran.collapse(true);
   ran.select();
  }).live("keydown", this, function (event) {/*禁用方向键 Home End PgUp PgDn*/
   if (event.keyCode >= 33 && event.keyCode <= 40) {
    return false;
   }
   return true; 
  }).live("keypress", this, function (event) {
   var curVal = $(this).val();
   if (event.keyCode >= 48 && event.keyCode <= 57 ) {
    if (curVal.indexOf(".") != -1 && event.keyCode == 46) return false; /*控制只能输入一个小数点*/
    if (curVal == "0" && event.keyCode != 46) { $(this).val(""); return true; } /*控制第一位是0时 输入数字后将0删掉*/
    if (curVal == "0" && event.keyCode != 46) return false; /*控制第一位输入0其后必须是小数点*/
    if (curVal == "" && event.keyCode == 46){
     alert(event.keyCode== 46);
     $(this).val("0"); /*第一位输入小数点 将前一位补0*/
    }
   } else return false;
  }).live("paste", function () {/*禁止粘贴非数值*/
   return !clipboardData.getData('text').match(/^\D+(\.\D+)?$/)
  }).live("dragenter", function () {/*禁止拖入*/
   return false;
  });

猜你喜欢

转载自chenyajie.iteye.com/blog/1971351