From d8425f3f4c8c477ffaae394a0eb38d06c4a4ce06 Mon Sep 17 00:00:00 2001 From: Yuanyuan Zhang Date: Mon, 22 May 2023 10:08:26 +0800 Subject: [PATCH] Fix the email validation problem for a.b@c.club. (#94) Co-authored-by: yyzhang --- api/libs/helper.py | 2 +- web/app/install/installForm.tsx | 2 +- web/app/signin/normalForm.tsx | 2 +- web/config/index.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/libs/helper.py b/api/libs/helper.py index bbf01cbad7..0db4363a2d 100644 --- a/api/libs/helper.py +++ b/api/libs/helper.py @@ -21,7 +21,7 @@ class TimestampField(fields.Raw): def email(email): # Define a regex pattern for email addresses - pattern = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" + pattern = r"^[\w\.-]+@([\w-]+\.)+[\w-]{2,4}$" # Check if the email matches the pattern if re.match(pattern, email) is not None: return email diff --git a/web/app/install/installForm.tsx b/web/app/install/installForm.tsx index 749719e9e9..a53373e794 100644 --- a/web/app/install/installForm.tsx +++ b/web/app/install/installForm.tsx @@ -7,7 +7,7 @@ import { useRouter } from 'next/navigation' import Toast from '../components/base/toast' import { setup } from '@/service/common' -const validEmailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/ +const validEmailReg = /^[\w\.-]+@([\w-]+\.)+[\w-]{2,4}$/ const validPassword = /^(?=.*[a-zA-Z])(?=.*\d).{8,}$/ const InstallForm = () => { diff --git a/web/app/signin/normalForm.tsx b/web/app/signin/normalForm.tsx index e0626572ac..b7b0f0cca6 100644 --- a/web/app/signin/normalForm.tsx +++ b/web/app/signin/normalForm.tsx @@ -13,7 +13,7 @@ import Button from '@/app/components/base/button' import { login, oauth } from '@/service/common' import { apiPrefix } from '@/config' -const validEmailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/ +const validEmailReg = /^[\w\.-]+@([\w-]+\.)+[\w-]{2,4}$/ type IState = { formValid: boolean diff --git a/web/config/index.ts b/web/config/index.ts index ec7784459f..2a8ac0a1eb 100644 --- a/web/config/index.ts +++ b/web/config/index.ts @@ -77,7 +77,7 @@ export const DEFAULT_VALUE_MAX_LEN = 48 export const zhRegex = /^[\u4e00-\u9fa5]$/gm export const emojiRegex = /^[\uD800-\uDBFF][\uDC00-\uDFFF]$/gm -export const emailRegex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ +export const emailRegex = /^[\w\.-]+@([\w-]+\.)+[\w-]{2,4}$/gm const MAX_ZN_VAR_NAME_LENGHT = 8 const MAX_EN_VAR_VALUE_LENGHT = 16 export const getMaxVarNameLength = (value: string) => {