例1,一个email验证与url网址验证js代码。
1)、email地址验证,验证邮箱格式。
2)、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;
}
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");
}
}
说到jquery如何验证邮箱格式?我们这里再分享一个jquery无刷新验证邮箱地址的脚本,原理很简单,就是在用户输入邮箱离开之后,通用jquery ajax发送数据给mail.php文件,然后由它实现查找此邮箱是不是在数据库中,然后反馈对应信息就可以了。
例子,验证用户邮箱格式(www.jb200.com 脚本学堂 整理)。
传统的js无刷新需要清空浏览器缓存后才能正常的验证,这里用jquery实现无刷新验证,一起来看看。
html代码部分: