From 2930add85f5d27cf1ce93865d1c7c2d5b01e495f Mon Sep 17 00:00:00 2001 From: fangxiang Date: Fri, 10 Feb 2023 16:29:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9IP=E3=80=81=E5=AD=90=E7=BD=91?= =?UTF-8?q?=E6=8E=A9=E7=A0=81=E7=9A=84=E6=A0=A1=E9=AA=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/ValidationUtil.ts | 59 ++ src/components/AdvancedIpAddressDialog.vue | 19 +- src/components/CenterControlButtonDialog.vue | 18 +- src/components/CenterControlDialog.vue | 8 +- .../EditJointActionEquipmentDialog.vue | 11 +- src/components/SystemSettingDialog.vue | 21 +- .../SystenSettingAdvancedNetworkDialog.vue | 12 +- src/i18n/en-US/index.ts | 22 +- src/i18n/zh-CN/index.ts | 21 +- src/pad/Login.vue | 10 +- src/pages/Login.vue | 964 +++++++++--------- 11 files changed, 594 insertions(+), 571 deletions(-) create mode 100644 src/common/ValidationUtil.ts diff --git a/src/common/ValidationUtil.ts b/src/common/ValidationUtil.ts new file mode 100644 index 0000000..4e1a7b5 --- /dev/null +++ b/src/common/ValidationUtil.ts @@ -0,0 +1,59 @@ +export default class ValidationUtil { + static isIpAddress(str: string): boolean { + return ( + str == "localhost" || + /^([1-9]|[1-9][0-9]|1\d\d|2[0-2][0-3])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-4])$/.test( + str + ) + ); + } + + static isHost(str: string): boolean { + return ( + str == "localhost" || + /^([1-9]|[1-9][0-9]|1\d\d|2[0-2][0-3])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-4])$/.test( + str + ) || + /^([1-9]|[1-9][0-9]|1\d\d|2[0-2][0-3])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-4])\:([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-5]{2}[0-3][0-5])$/.test( + str + ) + ); + } + + static isMacAddress(str: string): boolean { + return /([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}/.test(str); + } + + static isMaskAddress(str: string): boolean { + return /^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/.test( + str + ); + } + + static isHexStr(str: string): boolean { + if (str != null && str != undefined && typeof str == "string") { + str = str.trim(); + if (str.length == 0) { + return true; + } + for (const item of str.split(" ")) { + if (item.length > 4) { + return false; + } + if (!/^0[xX][A-Fa-f0-9]{1,2}/.test(item)) { + return false; + } + } + return true; + } + return false; + } + + static isResolution(str: string): boolean { + return /([0-9]{1,5})[x|X]([0-9]{1,5}@[0-9]{1,3}$)/.test(str); + } + + static isEnglishOrNum(str: string): boolean { + return /^[0-9a-zA-Z_\-]+$/.test(str); + } +} diff --git a/src/components/AdvancedIpAddressDialog.vue b/src/components/AdvancedIpAddressDialog.vue index 6664c8a..6b1abec 100644 --- a/src/components/AdvancedIpAddressDialog.vue +++ b/src/components/AdvancedIpAddressDialog.vue @@ -88,7 +88,8 @@ (val) => (val && val.length > 0) || $t('Please type something'), (val) => - isIpAddress(val) || $t('Please input vaild ip address'), + isMaskAddress(val) || + $t('Please input vaild netmask address'), ]" lazy-rules /> @@ -162,12 +163,12 @@ + + + + +