aboutsummaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/internet/index.ts7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/internet/index.ts b/src/modules/internet/index.ts
index f7f022ac..d1af8ebe 100644
--- a/src/modules/internet/index.ts
+++ b/src/modules/internet/index.ts
@@ -91,6 +91,13 @@ export class InternetModule {
);
let localPart: string = this.userName(firstName, lastName);
+ // Strip any special characters from the local part of the email address
+ // This could happen if invalid chars are passed in manually in the firstName/lastName
+ localPart = localPart.replace(/[^A-Za-z0-9._+\-]+/g, '');
+
+ // The local part of an email address is limited to 64 chars per RFC 3696
+ // We limit to 50 chars to be more realistic
+ localPart = localPart.substring(0, 50);
if (options?.allowSpecialCharacters) {
const usernameChars: string[] = '._-'.split('');
const specialChars: string[] = ".!#$%&'*+-/=?^_`{|}~".split('');