1. 程式人生 > 實用技巧 >input框只允許輸入單價

input框只允許輸入單價

<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) },