jquery中郵箱地址 URL網站地址正則驗證實例代碼
email地址驗證
復制代碼 代碼如下:
function checkEmail(){
var email=$.trim($("#report_email").val());
if(email == ""){
$("#report_email").next('p').html("*請輸入郵箱地址!");
return false;
}
var re = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/ig;
if(!re.test(email)){
$("#report_email").next('p').html("*郵箱地址格式錯誤!");
return false;
}
return true;
}
url地址驗證
復制代碼 代碼如下:
function getUrlArray(e, type){
var urls = $.trim($("#report_url_list").val());
urls = urls.replace(/s*n+s*/ig,"n");
$("#report_url_list").val(urls);
//format the urls
if(type == "blur"){
reportUrlElm.val(urls);
}
if(e && e.keyCode == 13){
reportUrlElm.val(urls + "n");
}
urls = urls.split("n");
user_urls = urls;
return urls;
}
function checkurls(e, type) {
$("#errorList").find("span").hide();
urls = getUrlArray(e, type);
var urlfag = true;
url_index = 0;
var urlText="請填寫舉報網站,您可以舉報多個網址,每行一個,一次不超過20個。";
if(!urls[0] || urls[0] == urlText){
$("#report_url_list").val(urlText).css("color","#757575");
$("#report_url_list").next('p').html('*請輸入正確的網址');
$.urlfag=false;
return false;
}
if(urls.length > 20){
$("#report_url_list").next('p').html("已超過20個,請分批舉報")
$.urlfag=false;
return false;
}
$.urlfag=true;
for(url_index=0;url_index<urls.length;url_index++){
$.urlfag = checkEachUrl(urls, url_index) && $.urlfag ;
}
return urlfag;
}
function checkEachUrl(urls, index){
var e=urls[index];
a = e.replace(/^http:///, "");
if (a.indexOf("/") != -1) {
a = a.substring(0, a.indexOf("/"));
}
var rg = /^((https?|ftp|news)://)?([w-]+.)+(.)+(:d+)?(/[w- ./?%&=]*)?$/i;
if(!rg.test(a)){
urlError("格式錯誤",index,-1);
return false;
}
if(inUrlArray(urls,index)){
urlError("請不要舉報同一條網站",index,-1);
return false;
}
$.ajax({
async:false,
url:"http://api.pc.qq.com/tapi/url_report.php?url=http://"+a,
dataType: "jsonp",
method: "GET",
success:function(a){
if(a.is_existed=="yes"){
urlError("該網址已被舉報",index,-1);
$.urlfag= false;
}
}
});
urlError("正常",index,0);
return true;
}
//http://www.unitymanual.com/forum36.html
function inUrlArray(urls,index){
var r=false
for(i=index+1;i<urls.length;i++){
a = urls[index].replace(/^http(s?):///, "");
b = urls[i].replace(/^http(s?):///, "");
if(a==b)
r=true;
}
return r;
}
function urlError(msg,index,type){
type=type|| 0;
var test = $("#errorList div").find("span").eq(index);
test.show();
if(type<0){
test.attr('title',msg).css("background-position","-20px 0px");
}else{
test.attr('title',msg).css("background-position","0px 0px");
}
}