zoukankan      html  css  js  c++  java
  • jquery中邮箱地址 URL网站地址正则验证实例代码

    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");
        }
    }

  • 相关阅读:
    GDI+ 实现透明水印和文字
    delphi调用LUA函数来处理一些逻辑
    Delphi 不使用自带模板创建服务
    Delphi在Listview中加入Edit控件
    中文转码器的工作原理_delphi教程
    使用钩子函数[6]
    简单全局HOOK拦截大部分键盘消息
    4个字节就相当于移动一位,原来指针是这样用的
    C#调用Delphi接口(ITest = interface)
    DELPHI 对象的本质 VMT
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3464592.html
Copyright © 2011-2022 走看看