天天看点

input标签只能输入数字小数点 且小数点后只有两位 ,不允许存在两个小数点!!

$("#open").on('keyup', function (event) {

   var $amountInput = $(this);

   var tmptxt=$(this).val();

   //$(this).val(tmptxt.subString(0,1) + '.' + tmptxt.subString(2));

    var FirstChar=tmptxt.substr(0,1);

//使用字符分离获取输入的第一位

    var SecondChar=tmptxt.substr(1,2);

   // 使用字符分离获取输入的第二位

     if(FirstChar=="0"){

    SecondChar.replace(/[0,1,2,3,45,6,7,8,9]/,"0.");

    }

//如果第一位是0,将第一位替换成0.

  // $(this).val(tmptxt.replace(/\D|^0/g,''));

   event = window.event || event;

   if (event.keyCode == 37 | event.keyCode == 39) {

       return;

   }

   //先把非数字的都替换掉,除了数字和. 

   $amountInput.val($amountInput.val().replace(/[^\d.]/g, "").

       //只允许一个小数点              

       replace(/^\./g, "").replace(/\.{2,}/g, ".").

       //只能输入小数点后两位

       replace(".", "$#$").replace(/\./g, "").replace("$#$", ".").replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'));

           });

$("#open").on('blur', function () {

   var $amountInput = $(this);

   //最后一位是小数点的话,移除

   $amountInput.val(($amountInput.val().replace(/\.$/g, "")));

});