0

我需要为联系表验证我的电子邮件和电话。那里有用于电子邮件的代码,但它不正确,而且不是正确的方法,没有任何帮助!我知道它需要它说:

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);
}
4

2 回答 2

1

电子邮件正则表达式:http ://www.regexlib.com/Search.aspx?k=email

电话正则表达式:http ://www.regexlib.com/Search.aspx?k=telephone

使用正则表达式和 jquery 来验证字段:https ://stackoverflow.com/a/709358/2646455

所以你可以做这样的事情:

$.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一次,即可使正则表达式验证选项可用。然后,为要应用于每个字段的每个验证规则调用最后一行一次(您可以将多个验证规则应用于单个字段)。

于 2013-08-09T11:40:34.113 回答
0
var atposition = email.indexOf("@");    //email = $('#email').val();

var dotposition = email.lastIndexOf(".");
if (atposition<1 || dotposition<atposition+2 || dotposition+2>=email.length)
  {
  //Invalid Email Code      
  }
于 2013-08-09T11:38:17.160 回答