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 検証を適用して、他のフィールドを使用することもできます。

$.validator.addMethodps正規表現検証オプションを利用可能にするために、一度だけ呼び出す必要があります。次に、各フィールドに適用する検証ルールごとに 1 回、最後の行を呼び出します (1 つのフィールドに複数の検証ルールを適用できます)。

于 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 に答える