需求一、input限制輸入整數(shù)
// 整數(shù) isZerro true 包含0 ,false 不包含0
calcNum(num, isZerro = true, num2) {
num = num.replace(/[^\d]/g, ''); // 清除“數(shù)字”以外的字符
if (num.indexOf('.') < 0 && num !== '') {
// 以上已經(jīng)過(guò)濾,此處控制的是如果沒(méi)有小數(shù)點(diǎn),首位不能為類似于 01、02的金額
num = parseFloat(num);
}
if (num === 0 && !isZerro) {
num = '';
}
// num2,輸入的數(shù)不能大于的位數(shù)
if (num2) {
if (num > Number(Math.pow(10, num2))) {
num = num.toString().slice(0, num2);
}
}
return num;
},
需求二、input限制輸入0-100 正整數(shù)
calcNum100(num) {
num = num.replace(/[^\d]/g, ''); // 清除“數(shù)字”以外的字符
if (num > 100) {
return 100;
}
return num;
},
需求三、input處理兩位小數(shù)
// 處理兩位小數(shù)
calcNum2(num, num2) {
num = num.replace(/[^\d.]/g, ''); // 清除“數(shù)字”和“.”以外的字符
num = num.replace(/\.{2,}/g, '.'); // 只保留第一個(gè). 清除多余的
num = num.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
num = num.replace(/^(-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); // 只能輸入兩個(gè)小數(shù)
if (num.indexOf('.') < 0 && num !== '') {
// 以上已經(jīng)過(guò)濾,此處控制的是如果沒(méi)有小數(shù)點(diǎn),首位不能為類似于 01、02的金額
num = parseFloat(num);
}
// num2,輸入的數(shù)不能大于的位數(shù)
if (num2) {
if (num > Number(Math.pow(10, num2))) {
num = num.toString().slice(0, num2);
}
}
return num;
},
需求四、input處理保留三位小數(shù)
// 處理三位小數(shù)
calcNum3(num, num2) {
num = num.replace(/[^\d.]/g, ''); // 清除“數(shù)字”和“.”以外的字符
num = num.replace(/\.{2,}/g, '.'); // 只保留第一個(gè). 清除多余的
num = num.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
num = num.replace(/^(-)*(\d+)\.(\d\d\d).*$/, '$1$2.$3'); // 只能輸入三個(gè)小數(shù)
if (num.indexOf('.') < 0 && num !== '') {
// 以上已經(jīng)過(guò)濾,此處控制的是如果沒(méi)有小數(shù)點(diǎn),首位不能為類似于 01、02的金額
num = parseFloat(num);
}
// num2,輸入的數(shù)不能大于的位數(shù)
if (num2) {
if (num > Number(Math.pow(10, num2))) {
num = num.toString().slice(0, num2);
}
}
return num;
},
需求五、input處理保留四位小數(shù)
calcNum4(num, num2) {
num = num.replace(/[^\d.]/g, ''); // 清除“數(shù)字”和“.”以外的字符
num = num.replace(/\.{2,}/g, '.'); // 只保留第一個(gè). 清除多余的
num = num.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
num = num.replace(/^(-)*(\d+)\.(\d\d\d\d).*$/, '$1$2.$3'); // 只能輸入兩個(gè)小數(shù)
if (num.indexOf('.') < 0 && num !== '') {
// 以上已經(jīng)過(guò)濾,此處控制的是如果沒(méi)有小數(shù)點(diǎn),首位不能為類似于 01、02的金額
num = parseFloat(num);
}
// num2,輸入的數(shù)不能大于的位數(shù)
if (num2) {
if (num > Number(Math.pow(10, num2))) {
num = num.toString().slice(0, num2);
}
}
return num;
},
需求六 input限制輸入正整數(shù)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-562236.html
// 正整數(shù)
calcNumEvery(num) {
num = num.replace(/[^0-9.]/g, ''); // 清除“數(shù)字”以外的字符
return num;
},
需求七 input可以輸入負(fù)數(shù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-562236.html
calcNumF(num, num2) {
num = num.replace(/,/g, '');
//先把非數(shù)字的都替換掉,除了數(shù)字和. -
num = num.replace(/[^\d.-]/g, '');
//必須保證第一個(gè)為數(shù)字而不是.
num = num.replace(/^\./g, '');
//保證只有出現(xiàn)一個(gè).而沒(méi)有多個(gè).
num = num.replace(/\.{2,}/g, '.');
//保證.只出現(xiàn)一次,而不能出現(xiàn)兩次以上
num = num.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
num = num.replace(/^(-)*(\d+)\.(\d\d\d\d).*$/, '$1$2.$3'); // 只能輸入兩個(gè)小數(shù)
//如果第一位是負(fù)號(hào),則允許添加 如果不允許添加負(fù)號(hào) 可以把這塊注釋掉
if (num.indexOf('-') === 0) {
num = num.replace(/-/g, '');
if (num2) {
if (num > Number(Math.pow(10, num2))) {
num = num.toString().slice(0, num2);
}
}
num = '-' + num;
} else {
num = num.replace(/-/g, '');
if (num2) {
if (num > Number(Math.pow(10, num2))) {
num = num.toString().slice(0, num2);
}
}
}
return num;
},
到了這里,關(guān)于input限制輸入整數(shù)、0-100的正整數(shù)、保留2位小數(shù)、3位小數(shù)、4位小數(shù)、負(fù)數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!