JS 使用正则自动纠正输入小数错误格式

$('input:text').bind('keyup blur', function(){
  var val = this.value;
  //验证是否为正负两位小数,不符合则自动纠正输入
  if(!(/^[-+]?(\d+)(\.\d{1,2})?$/g).test(val)){
    //删除非(数字+-.);
    val = val.replace(/[^\d\.+-]/g,'');
    //纠正错误的数字格式
    val = val.replace(/.*?([+-]?)(\d+)?(\.\d{0,2})?.*/,function(a,b,c,d){return b + (c||(d && '0') || '') + (d||'');});
    this.value = val;
  }
});

 最近项目中遇到验证正负两位小数的需求,为了防止用户输入错误,自动纠正错误格式。

输入如:. 则自动替换为0.

输入如:--则自动替换为 -

输入如:1.111 则自动替换为 1.11

非常方便~~

posted @ 2014-05-21 11:06  北京-木木  阅读(358)  评论(0)    收藏  举报