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; }