1. 程式人生 > >正則匹配只能輸入整數或浮點數

正則匹配只能輸入整數或浮點數

// 只能輸入整數或浮點數(不完全版本不能排除輸入0.00000的狀況) filterNumber(name,e){ //先把非數字的都替換掉,除了數字和. e.target.value = e.target.value.replace(/[^\d\.]/g,''); //必須保證第一個為數字而不是. e.target.value = e.target.value.replace(/^\./g,''); //保證第一位只能有一個或0個0 e.target.value = e.target.value.replace(/
^0{2,}/,'0'); //以0開始的第二位只能為小數點 e.target.value =e.target.value.replace(/^0[\d]/,'0'); //保證只有出現一個.而沒有多個. e.target.value = e.target.value.replace(/\.{2,}/g,'.'); //保證.只出現一次,而不能出現兩次以上 e.target.value = e.target.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.'
);return e; }

在知道保留幾位小數的情況下可解決。即當位數到達最後一位時如果還輸入的0就用''替換掉。