cyrillic email regex

This commit is contained in:
smanylov
2025-12-16 11:24:05 +07:00
parent 3d57486030
commit 668eed9c64
+10 -2
View File
@@ -16,20 +16,28 @@ export type FormAction = (
formData: FormData formData: FormData
) => Promise<FormState> ) => Promise<FormState>
const emailRegex = /^([a-zA-Z0-9.\-_]+|[а-яА-ЯёЁ0-9.\-_]+)@(([a-zA-Z0-9.\-]+)\.([a-zA-Z]{2,})|([a-zA-Z0-9.\-]+)\.([а-яА-ЯёЁ]{2,})|([а-яА-ЯёЁ0-9.\-]+)\.([a-zA-Z]{2,})|([а-яА-ЯёЁ0-9.\-]+)\.([а-яА-ЯёЁ]{2,}))$/i;
export const SignupFormSchema = z export const SignupFormSchema = z
.object({ .object({
full_name: z full_name: z
.string() .string()
.min(3, { error: 'register-error-name' }) .min(3, { error: 'register-error-name' })
.trim(), .trim(),
email: z.email({ error: 'register-error-valid-email' }).trim(), email: z
.string()
.trim()
.refine(
(value) => emailRegex.test(value),
{ message: 'register-error-valid-email' }
),
phone: z phone: z
.string() .string()
.min(12, { error: 'register-error-phone' }), .min(12, { error: 'register-error-phone' }),
password: z password: z
.string() .string()
.min(8, { error: 'register-error-password-symbols' }) .min(8, { error: 'register-error-password-symbols' })
.regex(/[a-zA-Zа-яёА-ЯЁ]/, { error: 'register-error-password-one-letter'}) .regex(/[a-zA-Zа-яёА-ЯЁ]/, { error: 'register-error-password-one-letter' })
.regex(/[0-9]/, { error: 'register-error-password-one-digit' }) .regex(/[0-9]/, { error: 'register-error-password-one-digit' })
.trim(), .trim(),
confirm_password: z confirm_password: z