2014-01-29 79 views
0

我做了一个函数来验证一封电子邮件,我想知道如何去调用它,以便它可以工作。我也试图与PHP一起使用Ajax。调用一个jQuery函数

我jQuery代码

function isValidEmailAddress(emailAddress) { 
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i); 
return pattern.test(emailAddress); 
}; 

$("#sub").click(function(){ 
    $.post($("#myForm").attr("action"), 
      $("#myForm :input").serializeArray(), 
      function(info){ $("#result").html(info); 
     }); 


}); 

$("#myForm").submit(function(){ 
    return false; 
}); 

function clearInput(){ 
    $("#myForm :input").each(function(){ 
     $(this).val(''); 
    }); 
} 

的index.php

<form id="myForm" action="ajax/userInfo.php" method="post"> 
<input class="required" type="text" name="email" id="email"> 
<input type="button" value="SUBMIT" id="sub"> 
<form> 

userInfo.php

<?php 
include("../config.php"); 
global $_NEWSLETTER_CUSTOMERS_TABLE; 

//$email = $_POST['email']; 
$email = html_entity_decode(str_replace("'", "\'", $_POST["email"])); 

if(mysql_query("INSERT INTO $_NEWSLETTER_CUSTOMERS_TABLE(email) VALUES('$email')")) 
echo "Successfully Inserted"; 
else 
echo "Insertion Failed"; 
+0

哪里是您的电子邮件输入元素 –

+0

对不起。我编辑了我的帖子。 – user3244543

回答

0

尝试

$("#sub").click(function() { 
    var $form = $("#myForm"); 
    if (!isValidEmailAddress($form.find('input[name="email"]').val())) { 
     alert('enter valid email') 
     //if the validation fails return 
     return false; 
    } 
    $.post($form.attr("action"), $form.find(":input").serializeArray(), function (info) { 
     //give the proper email fields name here 
     $("#result").html(info); 
    }); 
}); 

function isValidEmailAddress(emailAddress) { 
    var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i); 
    return pattern.test(emailAddress); 
}; 

$("#myForm").submit(function() { 
    return false; 
}); 

function clearInput() { 
    //no need to loop 
    $("#myForm :input").val(''); 
} 

演示:Fiddle

+0

谢谢阿伦,那正是我所需要的:-D – user3244543