From 9e50f26bb5d3b478bb549a5da13dbdaa8c3aafe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E8=82=96=E7=A3=8A?= <18851179580@163.com> Date: Mon, 7 Apr 2025 16:03:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/index.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index 2caab0a3..310eb614 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -245,9 +245,9 @@ export const custom_condition_judg = (fieldValue: any, type: string, value: numb case 'less-than': case 'equal': // 根据字段值的类型,进行数字间的比较 - if (typeof fieldValue === 'number') { - return compare_numbers(fieldValue, numberValue, type); - } else if (Array.isArray(fieldValue) || typeof fieldValue === 'string') { + if (typeof fieldValue === 'number' || (typeof fieldValue === 'string' && isPureNumber(fieldValue))) { + return compare_numbers(Number(fieldValue), numberValue, type); + } else if (Array.isArray(fieldValue) || (typeof fieldValue === 'string' && !isPureNumber(fieldValue))) { // 如果字段值是数组或字符串,比较数组长度和指定值 const valueLength = fieldValue?.length || 0; return compare_numbers(valueLength, numberValue, type); @@ -260,6 +260,10 @@ export const custom_condition_judg = (fieldValue: any, type: string, value: numb return true; } } +// 判断是否是纯数字 +function isPureNumber(input: string) { + return /^\d+$/.test(input); +} /** * 比较两个数字的大小