背景:專案中需要做個對兩位小數點的正負浮點數的處理,
要求:非數字或.字元自動清除,並對. 12自動修補.前的0
原理:在輸入框中加入兩個事件,keyup與blur,keyup處理字符串中非要求的字符,blur中對最終字符串處理成理想的格式111.11
實現:透過七個正規處理掉主功能val代表輸入的字串
/^d*.?d{0, 2}$/ 驗證val是否為ddd.dd的格式,是則不處理,否才處理
/[^.0-9] / 處理掉val中所有的非數字與.的字元
/(?:d*.d{0,2}|d )/ 將val處理成正確的格式。
/^d $/ 當是整數時的處理
/^.d{0,2}$/ 小數點前沒有數字時處理
/^d . d{0,2}$/ 小數點後數字位數在0-2之間時的處理
/^0 [1-9]d*.?d{0,2}$/ val前面有0時的處理
測試資料:
fdfd100.12 122.121 12t12.57 12546 1245. 125.4 154.45.456 .1566Demo下載