From d4e603be637036a036d1090f26c7982a57e79134 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 28 Aug 2025 10:42:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8F=82=E6=95=B0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C=E8=BF=87=E6=BB=A4=E9=95=BF?= =?UTF-8?q?=E5=BA=A6~=E5=92=8C-=E5=AE=9A=E4=B9=89=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/ne/neConfig/hooks/useOptions.ts | 52 +++++++++++------------ 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/src/views/ne/neConfig/hooks/useOptions.ts b/src/views/ne/neConfig/hooks/useOptions.ts index 8c88fde8..ba531f69 100644 --- a/src/views/ne/neConfig/hooks/useOptions.ts +++ b/src/views/ne/neConfig/hooks/useOptions.ts @@ -29,8 +29,13 @@ export default function useOptions({ t }: any) { case 'int': // filter: "0~128" - if (filter && filter.indexOf('~') !== -1) { - const filterArr = filter.split('~'); + if (filter) { + let filterArr = ['0', '1']; + if (filter.indexOf('-') !== -1) { + filterArr = filter.split('-'); + } else if (filter.indexOf('~') !== -1) { + filterArr = filter.split('~'); + } const minInt = parseInt(filterArr[0]); const maxInt = parseInt(filterArr[1]); const valueInt = parseInt(value); @@ -47,18 +52,12 @@ export default function useOptions({ t }: any) { break; case 'ipv4': if (!regExpIPv4.test(value)) { - return [ - false, - t('views.ne.neConfig.requireIpv4', { display }), - ]; + return [false, t('views.ne.neConfig.requireIpv4', { display })]; } break; case 'ipv6': if (!regExpIPv6.test(value)) { - return [ - false, - t('views.ne.neConfig.requireIpv6', { display }), - ]; + return [false, t('views.ne.neConfig.requireIpv6', { display })]; } break; case 'enum': @@ -71,10 +70,7 @@ export default function useOptions({ t }: any) { } if (!Object.keys(filterJson).includes(`${value}`)) { - return [ - false, - t('views.ne.neConfig.requireEnum', { display }), - ]; + return [false, t('views.ne.neConfig.requireEnum', { display })]; } } break; @@ -90,10 +86,7 @@ export default function useOptions({ t }: any) { } if (!Object.values(filterJson).includes(`${value}`)) { - return [ - false, - t('views.ne.neConfig.requireBool', { display }), - ]; + return [false, t('views.ne.neConfig.requireBool', { display })]; } } break; @@ -101,12 +94,20 @@ export default function useOptions({ t }: any) { // filter: "0~128" // 字符串长度判断 - if (filter && filter.indexOf('~') !== -1) { + if (filter) { try { - const filterArr = filter.split('~'); - let rule = new RegExp( - '^\\S{' + filterArr[0] + ',' + filterArr[1] + '}$' - ); + let rule: RegExp = new RegExp('^.*$'); + if (filter.indexOf('-') !== -1) { + const filterArr = filter.split('-'); + rule = new RegExp( + '^.{' + filterArr[0] + ',' + filterArr[1] + '}$' + ); + } else if (filter.indexOf('~') !== -1) { + const filterArr = filter.split('~'); + rule = new RegExp( + '^\\S{' + filterArr[0] + ',' + filterArr[1] + '}$' + ); + } if (!rule.test(value)) { return [ false, @@ -157,10 +158,7 @@ export default function useOptions({ t }: any) { break; default: - return [ - false, - t('views.ne.neConfig.requireUn', { display }), - ]; + return [false, t('views.ne.neConfig.requireUn', { display })]; } return result; }