前言
- 我們在處理一些數字的時候,難免會遇到一些需要輸入整數/小數等等的一些問題,在這裏記錄以下工具函數,以共勉!!!!!!!!
- 如果你轉發了本篇文章或者下面的代碼,請註明出處 謝謝~~ THX ☆⌒(*^-゜)v THX!!
保證輸入的爲整數(正整數/負整數)
function clearNoNum(val) {
let rv = '';
if(val) {
let nv = val.replace(/[^\d.]/g, '').replace(/\./g, '');
switch (true) {
case val.length>1 && val[0]=='-': rv = -nv; break;
case val.length>1 && val[0]!='-': rv = nv; break;
case val!='-' && val.length==1: rv = nv; break;
default:break;
}
}
return rv;
}
保證輸入的爲小數(正小數/負小數)
function clearNoNumDecimal(val) {
let rv = '';
if(val){
let nv = val.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace(/^\./g, '').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
switch (true) {
case val.length>1 && val[0]=='-': rv = '-' + nv; break;
case val.length>1 && val[0]!='-': rv = nv; break;
case val!='-' && val.length==1: rv = nv; break;
default:break;
}
}
return rv;
},
清除數字前面輸入的 0
function fixNumber(val){
let rv = '';
if(val){
let nv = val.toString().replace(/0*(\d*)/,'$1');
switch (true) {
case Number(this.control.value) >= 0: rv = nv; break;
case Number(this.control.value) < 0: rv = -nv; break;
case this.control.value=='-': rv = ''; break;
default:break;
}
}
return rv;
},