兩位小數的正則驗證和整數的正則
阿新 • • 發佈:2019-01-27
let PriceNumberInput = document.getElementById('priceInput') let priceNumber = PriceNumberInput.value let regStrs = [ ['[^\\d\\.]+$', ''], // 禁止錄入任何非數字和點 ['\\.(\\d?)\\.+', '.$1'], // 禁止錄入兩個以上的點 ['^(\\d+\\.\\d{2}).+', '$1'] // 禁止錄入小數點後兩位以上 ] if(priceNumber !== '' && priceNumber !== 0){ for (let i = 0; i < regStrs.length; i++) { let reg = new RegExp(regStrs[i][0]) priceNumber = priceNumber.replace(reg, regStrs[i][1]) } } if(PriceNumberInput.value !== priceNumber){ PriceNumberInput.value = priceNumber }
1. vue專案可將input的type設定為text
2. 測試element-ui的el-input嘗試這樣強制修改input的value屬性失敗
3. v-model雙向繫結的input輸入框,會出現priceNumber的值改變,檢視沒進行改變,故需要增加input的value是否與priceNumber的值相等,如不等可手動進行修改
--------------------------------- 整數 ---------------------------
if(num !== '' && num !== 0){ num = num.replace(/[^\d]/g, '') } if (numInput.value !== num) { numInput.value = num }
注意:
1. input的type需為text