
直接上代码:
var vm= new Vue({ el: '#repeat', data: { value1:'' } }) vm.$watch('value1',function (newvalue,oldvalue) { newvalue_=(newvalue.indexOf('.00')>0)?newvalue.replace('.00' ,''):newvalue; //禁止ie8,9自动添加.00的小数点 if( (isNaN(parseFloat(newvalue_.replace(/,/ig,'')))) ){ //如果当前输入的不是数字就停止执行 this.value1=''; //防止不是数字是input出现NaN提示 return false; } if( /\./i.test(newvalue_) ){ //判断处理含有.的情况下 if(/\.\d\d\d$/.test(newvalue_)){ this.value1=oldvalue; //限制只能输入2位小数点 }else{ this.value1=newvalue_.replace(/[^\d\.\,]/ig,'') //开始输入小数点之后,只能输入数字 } }else{ this.value1=((parseFloat(newvalue_.replace(/,/ig,'')).toLocaleString()).toString()).replace('.00' ,''); } }) <div id="repeat"> <input type="text" v-model="value1" placeholder="哈哈"> </div>