Если вам нужно проверить ввод электронной почты в приложении или в Интернете, вы можете использовать регулярные выражения.

Здесь мы оставляем вам 3 примера, каждый из которых имеет более высокую степень сложности, чем другой.

Первый очень прост, он проверяет только то, имеет ли он структуру электронного письма, второй проверяет немного больше, заботясь о количестве требуемых символов, а третий даже больше, потому что он проверяет, помимо остальных, тип персонажей, которых мы представляем.

Здесь оставляем выражения

Short:
/\S+@\S+\.\S+/
Medium: 
/^(([^<>()\[\]\.,;:\s@\”]+(\.[^<>()\[\]\.,;:\s@\”]+)*)|(\”.+\”))@(([^<>()[\]\.,;:\s@\”]+\.)+[^<>()[\]\.,;:\s@\”]{2,})$/
Large: 
/^(([^<>()\[\]\\.,;:\s@”]+(\.[^<>()\[\]\\.,;:\s@”]+)*)|(“.+”))@((\[[0–9]{1,3}\.[0–9]{1,3}\.[0–9]{1,3}\.[0–9]{1,3}])|(([a-zA-Z\-0–9]+\.)+[a-zA-Z]{2,}))$/

Пример:

// Short
let reShort = /\S+@\S+\.\S+/
// Medium
var reMedium = /^(([^<>()\[\]\.,;:\s@\”]+(\.[^<>()\[\]\.,;:\s@\”]+)*)|(\”.+\”))@(([^<>()[\]\.,;:\s@\”]+\.)+[^<>()[\]\.,;:\s@\”]{2,})$/
// Large
var reLarge = /^(([^<>()\[\]\\.,;:\s@”]+(\.[^<>()\[\]\\.,;:\s@”]+)*)|(“.+”))@((\[[0–9]{1,3}\.[0–9]{1,3}\.[0–9]{1,3}\.[0–9]{1,3}])|(([a-zA-Z\-0–9]+\.)+[a-zA-Z]{2,}))$/
reShort.test([email protected]’) // true
reMedium.test([email protected]’) // true
reLarge.test([email protected]’) // true
reShort.test(test.com’) // false
reMedium.test(test.com’) // false
reLarge.test(test.com’) // false
reShort.test([email protected]’) // true
reMedium.test([email protected]’) // false
reLarge.test([email protected]’) // false
reShort.test(test@ma*il.com’) // true
reMedium.test(test@ma*il.com’) // true
reLarge.test(test@ma*il.com’) // false