контактная форма пользовательская проверка поля электронной почты - PullRequest
0 голосов
/ 28 августа 2018

У меня есть простая проблема, но я не знаю, как ее решить.

Вот простой js, который проверяет контактную форму.

$(document).ready(function(){
  $('#sendMessage').on('click',function(data){
    data.preventDefault();

    var flname = $('#name').val();
    var emailadd = $("#email").val();
    var mess = $('#message').val();

    if(flname.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
    else if(emailadd.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
    else if(){
      $('.formMessage').text('Please insert valid email address');
      return false;
    }
    else if(mess.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
      $('.formMessage').text('Message sent');
  });
});

Часть с сообщением об ошибке "Пожалуйста, введите действительный адрес электронной почты". Я не знаю, как выполнить предварительную проверку, чтобы увидеть, написал ли пользователь что-нибудь, и если он сделал, как я могу проверить, введен ли адрес электронной почты (например, @ и.).

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

Ответы [ 2 ]

0 голосов
/ 28 августа 2018
$(document).ready(function(){
  $('#sendMessage').on('click',function(data){
    data.preventDefault();

    var flname = $('#name').val();
    var emailadd = $("#email").val();
    var mess = $('#message').val();

    var x = document.forms["myForm"]["email"].value;
    var atpos = x.indexOf("@");
    var dotpos = x.lastIndexOf(".");


    if(flname.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
    else if(emailadd.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
    else if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
      $('.formMessage').text('Please insert valid email address');
      return false;
    }
    else if(mess.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
      $('.formMessage').text('Message sent');
  });
});

Пожалуйста, укажите форму name = "myForm"

Это простая проверка JavaScript для электронной почты - см. (https://www.w3schools.com/js/tryit.asp?filename=tryjs_form_validate_email)

Вы также можете использовать регулярные выражения.

0 голосов
/ 28 августа 2018

Добавьте эту функцию, чтобы проверить действительность электронной почты

$(document).ready(function(){
  $('#sendMessage').on('click',function(data){
    data.preventDefault();

    var flname = $('#name').val();
    var emailadd = $("#email").val();
    var mess = $('#message').val();

    if(flname.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
    else if(emailadd.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
    else if (!ValidateEmail(emailadd)) {
      $('.formMessage').text('Please insert valid email address');
      return false;
    }
    else if(mess.length == 0){
      $('.formMessage').text('Error message');
      return false;
    }
      $('.formMessage').text('Message sent');
  });
});



function ValidateEmail(email) {
    var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return expr.test(email);
};
...