第一種方法:(直接在頁面上寫)
<el-input oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="請輸入(整數或者小數)金額" v-model="form.ysje"></el-input>
第二種方法:
頁面:
<el-input @keyup.native="onlyNumber()" placeholder="請輸入(整數或者小數)金額" v-model="form.ysje"></el-input>
方法: onlyNumber() { this.form.ysje = this.onlyNumOnePoint(this.form.ysje); },
onlyNumOnePoint(number_only) {
//先把非數字的都替換掉,除了數字和小數點
number_only = number_only.replace(/[^\d.]/g, "");
//必須保證第一個為數字而不是小數點
number_only = number_only.replace(/^\./g, "")
//保證只有出現一個小數點而沒有多個小數點
number_only = number_only.replace(/\.{2,}/g, ".");
//保證小數點只出現一次,而不能出現兩次以上
number_only = number_only.replace(".","$#$").replace(/\./g, "").replace("$#$", ".");
//保證只能輸入兩個小數
number_only = number_only.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); return number_only; },