QQ网站有一个网站举报的功能,看了一些js代码觉得写得很不错,我就拿下来了,下面是一个email验证与url网址验证js代码,分享给大家

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);
    } // www.jbxue.com
    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; // www.jbxue.com
    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中邮箱地址 URL网站地址正则验证实例代码的更多相关文章

  1. 使用SQL命令批量替换WordPress站点中图片的URL链接地址

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=689 前言: 本文记录了使用SQL命令批量替换URL的方法以及除了替换URL之外,网站更换图片URL地址所必须的其他 ...

  2. 电子邮箱、邮件地址、网站地址正则表达式!几个有用的RE、regex、regexp!

    几个常用的正则表达式! r"\w[-\w\.]*@\w[-\w]*(\.\w[-\w]*)+" 这个是电子邮件地址的. r"<TAG\b[^>]*<(. ...

  3. js或jQuery中 邮箱跳转的问题,跳转到指定邮箱(通过layui的ifram实现)

    对刚做的东西记个笔记 如果遇到同样问题解决起来又问题的欢迎留言 var emailtext = $("#TextBoxEmail").val();//获得要截取的值 var arr ...

  4. Swift - 正则表达式的使用(附用户名、邮箱、URL等常用格式验证)

    Swift虽然是一个新出的语言,但却不提供专门的处理正则的语法和类.所以我们只能使用古老的NSRegularExpression类进行正则匹配. 即先接受一个正则表达式的字符串,由此生成NSRegul ...

  5. jquery中ajax使用error调试错误的方法,实例分析了Ajax的使用方法与error函数调试错误的技巧

    代码:$(document).ready(function() { jQuery("#clearCac").click(function() { jQuery.ajax({ url ...

  6. JAVA中使用FTPClient实现文件上传下载实例代码

    一.上传文件 原理就不介绍了,大家直接看代码吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

  7. jQuery 检查某个元素在页面上是否存在实例代码

    用jQuery检查某个元素在网页上是否存在时,应该根据获取元素的长度来判断,代码如下: if($("#tt").length > 0) {   //元素存在时执行的代码 }  ...

  8. jquery实现文字由下到上循环滚动的实例代码

    <div id="oDiv"> <ul id="oUl"> <li>第1个li元素</li> <li> ...

  9. condition_variable中的和wait_once和notify_one及notify_all实例代码

    // ConsoleApplication6.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include<thread> #in ...

随机推荐

  1. MFC——从实现角度分析微云界面

    在云计算时代之风吹来,很多互联网公司都在建云,提出云盘.云储存.云平台.云空间等等,骤然间,天下皆云.云是啥?有用户量,就有云,没有用户量,你的系统,你的云,也就是一朵白云. 最近研究了下微云的界面, ...

  2. 同时使用ADO与Excel类库冲突的问题

    客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...

  3. linux文件 编辑常用 inux手把手vi ---针对文件操作

    命令语法 说明 使用频率(1:常用;2一般:3:偶尔) 1.VI编辑器的启动与退出 VI编辑器的启动与退出 vi  file1 新建一个文本文件名为file1 :q 退出,如果对缓存去进行过修改,则提 ...

  4. C#_delegate - Pair<T> & 简单顺序逆序 & 方法委托(在Pair类下)&枚举类型 混搭使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. 去model化开发

    前言 去model化是一种框架设计上的做法,其中的model并不是指架构中的model层,套用Casa大神博客中的原文就是: model化就是使用数据对象,去model化就是不使用数据对象. 常见的去 ...

  6. 仿简书、淘宝等等App的View弹出效果

    昨天用简书App的时候觉得这个View的弹出效果特别好,而且非常平滑,所以我就尝试写了一个,和简书App上的效果基本一致了: 下面开始讲解: 1.首先我们要知道这个页面有几个View?这个页面其实有四 ...

  7. 如何使用VSTS做压力测试

    1 前言 1.1 目的 本文档主要介绍如何在VSTS环境中进行LoadTest测试,给测试人员和初次使用者提供参考. 对该工具进行LoadTest测试的优劣进行简单的分析说明. 1.2 软件版本 本文 ...

  8. python <type 'exceptions.UnicodeDecodeError'>: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)解决

    import sysimport osimport stringreload(sys) sys.setdefaultencoding("utf8")

  9. servlet 容器,工作原理,优缺点

    转自http://blog.sina.com.cn/s/blog_b5a157500101ld71.html servlet:是以java技术为基础,应用于服务器端的程序组件,本质就是java代码,用 ...

  10. mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual t

    1.备份mysql数据库时候出错,导出数据: [root@localhost ~]# mysqldump -uroot -p mysql >/root/bck.sql Enter passwor ...