-
-
Save badsyntax/719800 to your computer and use it in GitHub Desktop.
// See http://rosskendall.com/blog/web/javascript-function-to-check-an-email-address-conforms-to-rfc822 | |
function isEmail(email){ | |
return /^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/.test( email ); | |
} |
Passes unicode like: あいうえお@domain.com
and this:
'email@-domain.com',
'email@domain.web',
'email@111.222.333.44444',
@Leonid-Yeromin with regards to the first comment: https://tools.ietf.org/html/rfc6531
wrt the second comment, avoiding the number case would overcomplicate the regex, and I don't see a problem with the second case
According to wikipedia, this email should be a valid email.
Dörte@Sörensen.example.com
But the ö
appears to make this regex test fail.
Thoughts?
Is this a valid email, but just not valid under RFC 822?
abc@def -said it's a valid email?
@kapitannwel have the same issue with hgdyugf@yahoo (
Any ideas on how to solve it?)
According to wikipedia, this email should be a valid email.
Dörte@Sörensen.example.com
But the
ö
appears to make this regex test fail.Thoughts?
Is this a valid email, but just not valid under RFC 822?
This one matched your example email: https://github.com/jackfoxy/FsRegEx/blob/master/tests/Email.Tests/Ultimate.fs
Why is this so different (much shorter) than the other RFC822 patterns ive found? here or here for example? (Granted, those two dont seem to work with JS regex validators such as match or test... so I like yours)