From c88b555410e7eb6f9ded4648bd6236c9f653c731 Mon Sep 17 00:00:00 2001 From: Hailey Date: Fri, 20 Sep 2024 14:10:34 -0700 Subject: Validate TLD in signup (#5426) * add lib * add validation * log * add some common typos * add tests * reset hasWarned state on edit * shorten path * Move test file, adjust regex, add test * Get real nit picky --------- Co-authored-by: Eric Bailey --- src/lib/strings/email.ts | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/lib/strings/email.ts (limited to 'src/lib/strings/email.ts') diff --git a/src/lib/strings/email.ts b/src/lib/strings/email.ts new file mode 100644 index 000000000..04b603847 --- /dev/null +++ b/src/lib/strings/email.ts @@ -0,0 +1,9 @@ +import type tldts from 'tldts' + +const COMMON_ERROR_PATTERN = + /([a-zA-Z0-9._%+-]+)@(gnail\.(co|com)|gmaill\.(co|com)|gmai\.(co|com)|gmail\.co|gmal\.(co|com)|iclod\.(co|com)|icloud\.co|outllok\.(co|com)|outlok\.(co|com)|outlook\.co|yaoo\.(co|com)|yaho\.(co|com)|yahoo\.co|yahooo\.(co|com))$/ + +export function isEmailMaybeInvalid(email: string, dynamicTldts: typeof tldts) { + const isIcann = dynamicTldts.parse(email).isIcann + return !isIcann || COMMON_ERROR_PATTERN.test(email) +} -- cgit 1.4.1