можно воспользоваться регулярными выражениями.
например проверка мыла
var k, l, m;
k = 'example@mail.ru';
l = 'test';
m = /^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/
m.test(k) => true
m.test(l) => false
само выражение
/^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/
/ - начало и конец регулярного выражения
^[A-z0-9]+[A-z0-9_.-]+[A-z0-9] - допускает любые символы из английского алфавита или цифры от 0 до 9, так же допускает '-' (минус), '_' (нижнее подчеркивание) и '.' (точку), если они не являются первыми или последними перед сиволом '@'.
@ - допускает символ '@'
[A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\. - тоже самое что первая группа символов, но с точкой на конце
[A-z]{2,4} - для обозначения домена, допускает любые латинские символы в количестве от 2 до 4 символов.
$ - окончание выражения
таким образом проверка инпута будет примерно такая:
if (/^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/.test($('input').val())) {
все хорошо
} else {
все плохо
}
либо можно запихать выражение в переменную для удобства:
var k = /^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/;
if (k.test($('input').val())) {
все хорошо
} else {
все плохо
}
[A-z] - так же означает, что символы алфавита могут быть в верхнем регистре
подробнее тут
Хабр
Регулярные выражения для валидации распространенны...