vant
Version:
Mobile UI Components built on Vue
47 lines (37 loc) • 982 B
JavaScript
export function range(num, min, max) {
return Math.min(Math.max(num, min), max);
}
function trimExtraChar(value, _char, regExp) {
var index = value.indexOf(_char);
var prefix = '';
if (index === -1) {
return value;
}
if (_char === '-' && index !== 0) {
return value.slice(0, index);
}
if (_char === '.' && value.match(/^(\.|-\.)/)) {
prefix = index ? '-0' : '0';
}
return prefix + value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
}
export function formatNumber(value, allowDot, allowMinus) {
if (allowDot === void 0) {
allowDot = true;
}
if (allowMinus === void 0) {
allowMinus = true;
}
if (allowDot) {
value = trimExtraChar(value, '.', /\./g);
} else {
value = value.split('.')[0];
}
if (allowMinus) {
value = trimExtraChar(value, '-', /-/g);
} else {
value = value.replace(/-/, '');
}
var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
return value.replace(regExp, '');
}