Хотите подтвердить мою электронную почту и телефон

Мне нужно, чтобы моя электронная почта и телефон были подтверждены для контактной формы. Там есть код для электронной почты, но он неправильный и не совсем правильный способ помочь! я знаю, что это должно было быть сказано:

if(email.length == 0 || email.indexOf('@') == '-1')

но я теперь уверен, как это сделать, я очень новичок в php, так что будь осторожен со мной:)

var error = false;
var name = $('#name').val();
var email = $('#email').val();
var subject = $('#subject').val();
var message = $('#message').val();
var tel = $('#tel').val();

    // Form field validation
if(name.length == 0){
    var error = true;
    $('#name_error').fadeIn(500);
}else{
    $('#name_error').fadeOut(500);
}
if(tel.length == 0){
    var error = true;
    $('#tel_error').fadeIn(500);
}else{
    $('#tel_error').fadeOut(500);
}
if(email.length == 0 || email.indexOf('@') == '-1'){ **this is not the right way! help** 
    var error = true;
    $('#email_error').fadeIn(500);
}else{
    $('#email_error').fadeOut(500);
}
if(subject.length == 0){
    var error = true;
    $('#subject_error').fadeIn(500);
}else{
    $('#subject_error').fadeOut(500);
}
if(message.length == 0){
    var error = true;
    $('#message_error').fadeIn(500);
}else{
    $('#message_error').fadeOut(500);
}

if(tel.length == 0){
    var error = true;
    $('#tel_error').fadeIn(500);
}else{
    $('#tel_error').fadeOut(500);
}

2 ответа

Регулярное выражение электронной почты: http://www.regexlib.com/Search.aspx?k=email

телефонное регулярное выражение: http://www.regexlib.com/Search.aspx?k=telephone

использование регулярных выражений и jquery для проверки полей: /questions/9549209/jquery-validate-kak-dobavit-pravilo-dlya-proverki-regulyarnogo-vyirazheniya/9549215#9549215

так что вы можете сделать что-то вроде этого:

$.validator.addMethod(
        "regex",
        function(value, element, regexp) {
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
        },
        "Please check your input."
);

$('#email').rules("add", { regex: "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$" });

Вы можете следовать примеру других полей, применяя регулярное выражение (например, для телефона) или другие базовые проверки jquery.

ps нужно только позвонить $.validator.addMethod один раз, чтобы сделать опцию проверки регулярных выражений доступной. Затем вы вызываете последнюю строку один раз для каждого правила проверки, которое вы хотите применить к каждому полю (вы можете применить более одного правила проверки к одному полю).

var atposition = email.indexOf("@");    //email = $('#email').val();

var dotposition = email.lastIndexOf(".");
if (atposition<1 || dotposition<atposition+2 || dotposition+2>=email.length)
  {
  //Invalid Email Code      
  }
Другие вопросы по тегам