3 ms·
C version because I was bored: int is_valid_email(char *email) { char *at = strstr(email, "@"); if (at <= email || at == strlen(email)
by meaty 14y ago
C version because I was bored:
int is_valid_email(char *email) {
char *at = strstr(email, "@");
if (at <= email || at == strlen(email) + at - 2)
return 0;
return !isspace(*(at - 1)) && !isspace(*(at + 1));
}
Test cases:
assert(0 == is_valid_email(""));
assert(0 == is_valid_email("@b"));
assert(0 == is_valid_email("b@"));
assert(0 == is_valid_email("d@ "));
assert(0 == is_valid_email(" @d"));
assert(0 == is_valid_email(" "));
assert(1 == is_valid_email("a@b"));
assert(1 == is_valid_email("John Smith <x.y@z.com>"));