fix(Field): disallow minus when using digit type (#7114)
This commit is contained in:
@@ -4,26 +4,34 @@ export function range(num: number, min: number, max: number): number {
|
||||
|
||||
function trimExtraChar(value: string, char: string, regExp: RegExp) {
|
||||
const index = value.indexOf(char);
|
||||
|
||||
|
||||
if (index === -1) {
|
||||
return value;
|
||||
return value;
|
||||
}
|
||||
|
||||
if (char === '-' && index !== 0) {
|
||||
return value.slice(0, index);
|
||||
return value.slice(0, index);
|
||||
}
|
||||
|
||||
return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');
|
||||
}
|
||||
|
||||
export function formatNumber(value: string, allowDot?: boolean) {
|
||||
export function formatNumber(
|
||||
value: string,
|
||||
allowDot = true,
|
||||
allowMinus = true
|
||||
) {
|
||||
if (allowDot) {
|
||||
value = trimExtraChar(value, '.', /\./g);
|
||||
} else {
|
||||
value = value.split('.')[0];
|
||||
}
|
||||
|
||||
value = trimExtraChar(value, '-', /-/g);
|
||||
if (allowMinus) {
|
||||
value = trimExtraChar(value, '-', /-/g);
|
||||
} else {
|
||||
value = value.replace(/-/, '');
|
||||
}
|
||||
|
||||
const regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user