Incorrectly matches: user@domain OR email@example.com
The problem is the validation after the @ sign. The regex there isn't complex. It requires one or more alphanumeric (optionally hyphened) domain/subdomain names of various lengths followed by a period, then ending with an alphabetic 2-, 3-, or 4- digit extension (e.g. .cc, .com, .info). But it's not working. And this RegEx works perfectly fine, as expected, in the .NET framework.
Points for anyone that show me, most importantly, a workable fix. Points also for showing me if I'm doing anything wrong OR online documentation of this as a known bug in JS implementation.