透過以下方式可以過濾非數值,並且數值具有指位位數的整數以及小數點。
一、先寫一個 HTML 元素以及事件功能來綁定觸發,觸發事件使用 onblur 讓使用者輸入完後離開焦點在觸發。
二、在來是 JS 語法部份 /^(\d{0,2})(\.\d{1,2})?$/ 透過這段正則表達式,可以幫助我們檢驗進來的數值是否為數值以及符合設定的整數與小數點。
三、快速理解重點:
- 第一個區塊 {0,2} 為整數部份位置表示為 0 整數最少一位,最大兩位即 0~99。
- 第二個區塊 {1,2} 為小數點部份位置表示為 1 小數點最少一位,最大兩位即 0~99。
HTML
<div>
<input type="text" class="text-capitalize" onblur="IntegerDecimalPoint(this)" />
</div>
JS
function IntegerDecimalPoint(obj) {
var reg = /^(\d{0,2})(\.\d{1,2})?$/;
if (!reg.test( obj.value)) {
obj.value = "";
}
}