input框只允許輸入單價
阿新 • • 發佈:2020-11-20
<input type="text" class="defaultInput smInput" v-model="row.row.unitPrice" @input="onlyPrice(row.$index)" @change="alterRecord(row.row)">
// 返回單價(不為負) onlyPrice(index){ var value = this.detailList[index].unitPrice //先把非數字的都替換掉,除了數字和.和-號 value = value.replace(/[^\d\.]/g,'');//前兩位不能是0加數字 value = value.replace(/^0\d[0-9]*/g,''); //必須保證第一個為數字而不是. value = value.replace(/^\./g,''); //保證只有出現一個.而沒有多個. value = value.replace(/\.{2,}/g,'.'); //保證.只出現一次,而不能出現兩次以上 value = value.replace('.','$#$').replace(/\./g,'').replace('$#$','.');//如果第一位是負號,則允許新增 value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); if(Number(value) > 100000000) { this.message(_this,'warning','最大不能超過1億!') value = value.slice(0,value.length-1) } this.$set(this.detailList[index],'unitPrice',value) },