I have this relatively simple regex for usernames
// Enforce that username has to be 3-100 characters, alphanumeric, and first character a letter.
// Possibi
I think it's because of this: [+-_]
You are including all chars between '+' and '_', try changing the order to [+_-]
(putting the dash at the end) or escape the dash.
+-_
is your problem. You need to escape the -
in a character class or move it to the end or beginning of the class.
For example:
/^[a-z][a-z0-9@.+_-]{2,100}\z/i