Michaly4
@Michaly4
Учусь всю жизнь учусь)

Проверка ввода Email без регулярных выражений?

Добрый день
Человек вводит еmail , нужно проверить правильность ввода!!
Обязательно:
@ - если нет, то неправильно!!
@ - если на первой , либо последней позиции тоже не правильно!
Я прошёл только урок по строкам и их методах,и вот задание, я просто не могу понять как это начать!?Какой метод(IndexOf??) тут использовать для проверки,какие условия??вообщем ничего не могу((,кто поможет?тут функцию писать с условиями??но что с методом строк??я запутался полностью ((
P.s.Пожалуйста подскажите на каком ресурсе я могу найти себе репетитора(ментора) по JavaScript???Я сам не справляюсь...(
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Работает? Не трогай.
Добрый день, такое состояние - нормальное. Даже у опытных специалистов. Только опытные специалисты знают, что делать.
А делать надо следующее: необходимо придумать алгоритм. Разбить большую задачу на маленькие, примитивные.
Например, вам надо: преобразовать строку в массив. Получить индекс символа "@". Если индекс равен нулю или длине массива - значит неправильно. Иначе всё ок.

Попробуйте сами.

Когда будете готовы (попробуете сами), откройте эту ссылку, воин дракона
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
function testEmailAddress(emailToTest) {
    var atSymbol = emailToTest.indexOf("@");
    if(atSymbol < 1) return false;
    var dot = emailToTest.indexOf(".");
    if(dot <= atSymbol + 2) return false;
    if (dot === emailToTest.length - 1) return false;

    return true;
}
Ответ написан
miraage
@miraage
function isValidEmail(value) {
  const len = value.length
  const idx = value.indexOf('@')

  return len >= 3 && idx > 0 && idx < len - 1;
}

console.log(isValidEmail('contact@example.com')); // true
console.log(isValidEmail('a@b')); // true
console.log(isValidEmail('@a')); // false
console.log(isValidEmail('b@')); // false
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽