智能社-JS -wiki

1. validation

       //检测手机号码是否合法
      function isPhone(phone){
            var phone = (phone+"").trim();
            var reg = /^1[34568]{1}\d{9}$/;
            var flag = false;
           if (phone != null && phone.length > 0){
                (flag = reg.test(phone)) ? true : false;
           }
           return flag;
        }

        //检测邮箱是否合法
        function isEmail(email){
            var phoneNum = (email+"").trim();
            var reg =  /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
            var flag = false;
           if (email != null && email.length >0) {
               (flag = reg.test(email)) ? true : false;
           }
        }

  2.封装 ajax 请求

  

    //创建AJAX对象
    function createXHR(){
        var xhr=null;
        if(window.ActiveXObject){ //IE
            xhr=new ActiveXObject("Microsoft.XMLHTTP");
        }else if(window.XMLHttpRequest){//非IE
            xhr=new XMLHttpRequest();
        }
        return xhr;
    }

    function ajax_my(method ="GET",url,data=null,fnsuccess,fnFailed=null,content_type="html"){
        createXHR();  //1.创建ajax对象
        var data = data;
        xhr.open(method.toUpperCase(),url,true); //2 打开连接
        if(method.toUpperCase()=="POST"){
            xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置响应头信息setRequestHeader();
            data=data;
        }
        xhr.send(data);   //3 发送请求   GET--xhr.send(null)  POST--xhr.send(data)
      /*--------------------------------------等待服务器响应-----------------------------------------------------------------------*/
        xhr.onreadystatechange=function(){ // 4 服务器处理请求后给客户端,回调函数处理,不停再监听readyState状态
            if(xhr.readyState==4){
                if(xhr.status==200){
                    if(content_type=="html" || content_type=="json"){
                        fnsuccess(xhr.responseText);
                    }else{
                        fnsuccess(xhr.responseXML);
                    }
                }else{
                    if(fnFailed){
                        fnFailed(xhr.status);//404,502等
                    }
                }
            }

        }
    }

 2.2.测试自定义的ajax请求

 1     //get方式
 2      //测试html
 3      ajax_my("GET",gurl,null,function(str){
 4          //alert(str);
 5          mess_info.innerHTML = str;
 6      });
 7 
 8      //测试json
 9     ajax_my("GET",gurl,null,function(str){
10          //alert(str);
11          var mes_obj= eval("("+str+")");
12          mess_info.innerHTML = mes_obj.msg;
13      },null,"json");
14 
15      //post方式
16     ajax_my("POST","do_form2.php",data,function(str){
17          //alert(str);
18          mess_info.innerHTML = str;
19      });
20 
21     ajax_my("POST","do_form.php",data,function(str){
22              //alert(str);
23              var mes_obj = eval("("+str+")");
24              mess_info.innerHTML = mes_obj.msg;
25          },null,"json");

 3.获取标签的样式,注意颜色是rgb(xx,xx,xx)格式的

        //注意:获得的颜色是rgb格式的
        function getStyle(obj,name){
            if(obj.currentStyle){
                //IE
                return obj.currentStyle[name];//这里name是一个变量就用[]
            }else{
                //FF
                return getComputedStyle(obj,null)[name];
            }
        }

 

posted @ 2016-08-06 11:11  黑土白云  阅读(292)  评论(0编辑  收藏  举报