zoukankan      html  css  js  c++  java
  • JavaScript验证用户输入

    编辑改随笔

    JavaScript用户输入验证

    /*
    
           名字:Common.js
    
           功能:通用JavaScript脚本函数库
    
    
    
    
    
    
           包括:
    
    
    
    
    
    
                         1.Trim(str)--去除字符串两边的空格
                         
                         2.LTrim(str)--去除字符串左边的空格
                         
                         3.RTrim(str)--去除字符右边的空格      
    
                         4.IsEmpty(obj)--验证输入框是否为空
    
    
    
    
    
    
                         5.IsNum(obj)--验证是否为数字
    
    
    
    
    
    
                         6.IsFloat(objStr,sign,zero)--验证是否为浮点数
    
                         7.IsEnLetter(objStr,size)--验证是否为26个字母
                         8.getPostfixText(str)--字符串加后缀"_全局"
                         9.delPostfixText(str)--字符串去后缀"_全局"
    
    
    
    
    
                         
                         以及其它的一些验证类函数
    
    */
     
    
    /*
    
    ==================================================================
    
    LTrim(string):去除左边的空格
    
    
    
    
    
    
    ==================================================================
    
    */
        
    function LTrim(str)
    
    {
    
        var whitespace = new String(" 	
    
    ");
    
        var s = new String(str);
    
        
    
        if (whitespace.indexOf(s.charAt(0)) != -1)
    
        {
    
            var j=0;
            var i = s.length;
    
            while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
    
            {
    
                j++;
    
            }
    
            s = s.substring(j, i);
    
        }
    
        return s;
    
    }
    
     
    
    /*
    
    ==================================================================
    
    RTrim(string):去除右边的空格
    
    
    
    
    
    
    ==================================================================
    
    */
    
    function RTrim(str)
    
    {
    
        var whitespace = new String(" 	
    
    ");
    
        var s = new String(str);
    
     
    
        if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    
        {
    
            var i = s.length - 1;
    
            while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
    
            {
    
                i--;
    
            }
    
            s = s.substring(0, i+1);
    
        }
    
        return s;
    
    }
    
    function CTrim(str)
    {
        var s = new String(str);
        if (s.length < 4)
        {
            return s;
        }
        for ( var i = 1; i < s.length-2;)
        {
            if (s.charAt(i) == ' ' && s.charAt(i+1) == ' ')
            {
                s = s.substring(0, i+1) + s.substring(i+2, s.length);
                continue;
            }
            i ++;
        }
        return s;
    }
    
    /*
    
    ==================================================================
    
    Trim(string):去除前后空格
    
    ==================================================================
    
    */
    
    function Trim(str)
    
    {
        return CTrim(RTrim(LTrim(str)));
    }
        
    
    /*
    
    ================================================================================
    
    验证类函数
    
    
    
    
    
    
    ================================================================================
    
    */ 
    
    function IsEmpty(obj)
    
    {
    
        obj=document.getElementsByName(obj).item(0);
    
        if(Trim(obj.value)=="")
    
        {    
    
            if(obj.disabled==false && obj.readOnly==false)
    
            {
    
                obj.focus();
    
            }
            return true;    
        }
        return false;
    }
    
    //数字判断函数
    function IsNum(obj) 
    {    
        obj=document.getElementsByName(obj).item(0);
        obj.value=Trim(obj.value);
        if(obj.value == "")
        {
            return false;
        }
        var regex=/[^0-9]/;
        if(obj.value.match(regex)){//match(/[^0-9]/)){
            obj.focus();
            return false;
        }
        return true;
    }
    
    /*
    ** IP 检测函数
    
    
    
    
    
    **
    */
    
    function CheckIpByMask(nIp, nMask)
    {
        if (((nIp|nMask)== -1) || (((nIp|nMask)+Math.pow(2,32)) == nMask))
        {
            return false;
        }
        
        return true;
    }
    
    //允许ip值为0
    function ChkIP2(ip1,ip2,ip3,ip4)
    {
        if(IsNum(ip1)==false||IsNum(ip2)==false||IsNum(ip3)==false||IsNum(ip4)==false)
            return false;
        if(IsEmpty(ip1)||IsEmpty(ip2)||IsEmpty(ip3)|IsEmpty(ip4))
            return false;
        vip1=document.getElementsByName(ip1).item(0);
        vip2=document.getElementsByName(ip2).item(0);
        vip3=document.getElementsByName(ip3).item(0);
        vip4=document.getElementsByName(ip4).item(0);
        if(parseInt(vip1.value)<0||parseInt(vip1.value)>255||parseInt(vip2.value)<0||parseInt(vip2.value)>255
         ||parseInt(vip3.value)<0||parseInt(vip3.value)>255||parseInt(vip4.value)<0||parseInt(vip4.value)>255)
        {
            return false;
        }
        return true;
    }
    
    //不允许ip值为0
    function ChkIP(ip1,ip2,ip3,ip4)
    {
        if(IsNum(ip1)==false||IsNum(ip2)==false||IsNum(ip3)==false||IsNum(ip4)==false)
            return false;
        if(IsEmpty(ip1)||IsEmpty(ip2)||IsEmpty(ip3)|IsEmpty(ip4))
            return false;
        vip1=document.getElementsByName(ip1).item(0);
        vip2=document.getElementsByName(ip2).item(0);
        vip3=document.getElementsByName(ip3).item(0);
        vip4=document.getElementsByName(ip4).item(0);
        var nip1=parseInt(vip1.value);
        var nip2=parseInt(vip2.value);
        var nip3=parseInt(vip3.value);
        var nip4=parseInt(vip4.value);
        if(nip1<0||nip1>255||nip2<0||nip2>255
           ||nip3<0||nip3>255||nip4<0||nip4>255
           ||nip1==0&&ip2==0&&ip3==0&&ip4==0)
        {
            return false;
        }
        //将页面上对应输入框替换成parseint后的结果
        vip1.value = nip1;
        vip2.value = nip2;
        vip3.value = nip3;
        vip4.value = nip4;
        
        return true;
    }
    
    function ChkMask(ip1,ip2,ip3,ip4)
    {
        if(ChkIP(ip1,ip2,ip3,ip4)==false)return false;
        var mask1=parseInt(document.getElementsByName(ip1).item(0).value);
        var mask2=parseInt(document.getElementsByName(ip2).item(0).value);
        var mask3=parseInt(document.getElementsByName(ip3).item(0).value);
        var mask4=parseInt(document.getElementsByName(ip4).item(0).value);
        var tmp = (mask1*Math.pow(2,24)) + (mask2*Math.pow(2,16)) + (mask3*Math.pow(2,8)) + mask4;
        if(tmp < Math.pow(2,31))
        {
            return false;
        }
        else
        {
            tmp -=  Math.pow(2,31);
            //后续位必须为连续的1
            for (i = 30; i > 1; i --)
            {
                if (tmp == 0)
                {
                    break;
                }
                else if(tmp < Math.pow(2,i))
                {
                    return false;
                }
                else
                {
                    tmp -= Math.pow(2,i);
                }
            }
        }
        return true;
    }
    
    /*
     ---------------------------------------------------------------------------------------------
     更严格的IP检测函数:可检测各种非法IP
     名  称:MyCheckIP(ip1,ip2,ip3,ip4),
    
    
    
    
    
     参``数:ip1,ip2,ip3,ip4均为ip框对应的name
     返回值:true-有效IP;false-无效IP;
     ---------------------------------------------------------------------------------------------
    */
    function MyCheckIP(ip1,ip2,ip3,ip4)
    {
        var obj1 = document.getElementsByName(ip1).item(0);
        var obj2 = document.getElementsByName(ip2).item(0);
        var obj3 = document.getElementsByName(ip3).item(0);
        var obj4 = document.getElementsByName(ip4).item(0);
        var nIP1 = StrToInt(obj1.value);
        var nIP2 = StrToInt(obj2.value);
        var nIP3 = StrToInt(obj3.value);
        var nIP4 = StrToInt(obj4.value);
        //是否为非法字符
    
    
    
    
    
        if(isNaN(nIP1) || isNaN(nIP2) || isNaN(nIP3) || isNaN(nIP4))
        {
                return false;
        }
        //首位必需为1-223之间除127之外的任一数字
        if(nIP1<1 || nIP1 > 223 || nIP1 == 127 )
        {
                return false;
        }
        if( nIP2<0 || nIP2>255 || nIP3<0 || nIP3>255 )
        {
            return false;    
        } 
        //末位不能为0或255
        if(nIP4<1 || nIP4>254)
        {
            return false;    
        }
        obj1.value = nIP1;
        obj2.value = nIP2;
        obj3.value = nIP3;
        obj4.value = nIP4;
        
        return true;
    }
    
    /*
     ---------------------------------------------------------------------------------------------
     更严格的子网检测函数:可检测各种非法子网IP
     名  称:MyCheckNet(ip1,ip2,ip3,ip4),
    
    
    
    
    
     参``数:ip1,ip2,ip3,ip4均为ip框对应的name
     返回值:true-有效IP;false-无效IP;
     ---------------------------------------------------------------------------------------------
    */
    function MyCheckNet(ip1,ip2,ip3,ip4)
    {
        var obj1 = document.getElementsByName(ip1).item(0);
        var obj2 = document.getElementsByName(ip2).item(0);
        var obj3 = document.getElementsByName(ip3).item(0);
        var obj4 = document.getElementsByName(ip4).item(0);
        var nIP1 = StrToInt(obj1.value);
        var nIP2 = StrToInt(obj2.value);
        var nIP3 = StrToInt(obj3.value);
        var nIP4 = StrToInt(obj4.value);
        //是否为非法字符
    
    
    
    
    
        if(isNaN(nIP1) || isNaN(nIP2) || isNaN(nIP3) || isNaN(nIP4))
        {
                return false;
        }
        //首位必需为1-223之间除127之外的任一数字
        if(nIP1<1 || nIP1 > 223 || nIP1 == 127 )
        {
                return false;
        }
        if( nIP2<0 || nIP2>255 || nIP3<0 || nIP3>255 || nIP4<0 || nIP4>255)
        {
            return false;    
        } 
    
        obj1.value = nIP1;
        obj2.value = nIP2;
        obj3.value = nIP3;
        obj4.value = nIP4;
        
        return true;
    }
    
    
    /*
    
    IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
    
    功能:判断是否为整数、正整数、负整数、正整数+0、负整数+0
    
    */
    
    function IsInt(objStr,sign,zero)
    
    {
    
        var reg;    
    
        var bolzero;    
    
        if(Trim(objStr)=="")
    
        {
    
            return false;
    
        }
    
        else
    
        {
    
            objStr=objStr.toString();
    
        }    
    
        
    
        if((sign==null)||(Trim(sign)==""))
    
        {
    
            sign="+-";
    
        }
    
        if((zero==null)||(Trim(zero)==""))
    
        {
    
            bolzero=false;
    
        }
    
        else
    
        {
    
            zero=zero.toString();
    
            if(zero=="0")
    
            {
    
                bolzero=true;
    
            }
    
            else
    
            {
    
                alert("检查是否包含0参数, 只可为(空、0)");
    
            }
    
        }
    
    
        switch(sign)
    
        {
    
            case "+-":
    
                //整数
    
                reg=/(^-?|^+?)d+$/;            
    
                break;
    
            case "+": 
    
                if(!bolzero)           
    
                {
    
                    //正整数
    
    
    
    
    
    
                    reg=/^+?[0-9]*[1-9][0-9]*$/;
    
                }
    
                else
    
                {
    
                    //正整数+0
    
                    //reg=/^+?d+$/;
    
                    reg=/^+?[0-9]*[0-9][0-9]*$/;
    
                }
    
                break;
    
            case "-":
    
                if(!bolzero)
    
                {
    
                    //负整数
    
    
    
    
    
    
                    reg=/^-[0-9]*[1-9][0-9]*$/;
    
                }
    
                else
    
                {
    
                    //负整数+0
    
                    //reg=/^-d+$/;
    
                    reg=/^-[0-9]*[0-9][0-9]*$/;
    
                }            
    
                break;
    
            default:
    
                alert("检查符号参数, 只可为(空、+、-)");
    
                return false;
    
                break;
    
        }
        
    
        var r=objStr.match(reg);
    
        if(r==null)
    
        {
    
            return false;
    
        }
    
        else
    
        {        
    
            return true;     
    
        }
    
    }
    
     
    
    /*
    
    IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
    
    功能:判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
    
    */
    
    function IsFloat(objStr,sign,zero)
    
    {
    
        var reg;    
    
        var bolzero;    
    
        if(Trim(objStr)=="")
    
        {
    
            return false;
    
        }
    
        else
    
        {
    
            objStr=objStr.toString();
    
        }    
    
        
    
        if((sign==null)||(Trim(sign)==""))
    
        {
    
            sign="+-";
    
        }
    
        
    
        if((zero==null)||(Trim(zero)==""))
    
        {
    
            bolzero=false;
    
        }
    
        else
    
        {
    
            zero=zero.toString();
    
            if(zero=="0")
    
            {
    
                bolzero=true;
    
            }
    
            else
    
            {
    
                alert("检查是否包含0参数, 只可为(空、0)");
    
            }
    
        }
    
        
    
        switch(sign)
    
        {
    
            case "+-":
    
                //浮点数
    
    
    
    
    
    
                reg=/^((-?|+?)d+)(.d+)?$/;
    
                break;
    
            case "+": 
    
                if(!bolzero)           
    
                {
    
                    //正浮点数
    
                    reg=/^+?(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
    
                }
    
                else
    
                {
    
                    //正浮点数+0
    
                    reg=/^+?d+(.d+)?$/;
    
                }
    
                break;
    
            case "-":
    
                if(!bolzero)
    
                {
    
                    //负浮点数
    
                    reg=/^-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
    
                }
    
                else
    
                {
    
                    //负浮点数+0
    
                    reg=/^((-d+(.d+)?)|(0+(.0+)?))$/;
    
                }            
    
                break;
    
            default:
    
                alert("检查符号参数, 只可为(空、+、-)");
    
                return false;
    
                break;
    
        }
    
        
    
        var r=objStr.match(reg);
    
        if(r==null)
    
        {
    
            return false;
    
        }
    
        else
    
        {        
    
            return true;     
    
        }
    
    }
    
    //将ip由*.*.*.*格式转为long型
    
    
    
    
    
    function IPStrToLong(str)
    {
        var ip=0;
        var array=str.split(".");
        if(array.length == 4)
        {
            ip=parseInt(ip)+parseInt(array[0])*16777216;
            ip=parseInt(ip)+parseInt(array[1])*65536;
            ip=parseInt(ip)+parseInt(array[2])*256;
            ip=parseInt(ip)+parseInt(array[3]);
        }
        
        return parseInt(ip);
    }
    
    //将字符串转为整数,对8进制和16进制不作转换
    function StrToInt(str)
    {
        var result="";
        var index=0;
        var flag=0;
        while(index<str.length){
            if(parseInt(str.charAt(index))==0&&flag==0)flag=1;
            if(parseInt(str.charAt(index))>0&&parseInt(str.charAt(index))<=9)
            {
                break;
            }        
            index++;
        }
        //前一个字符是否为正,负号
        if(index>0&&(str.charAt(index-1)=="-"||str.charAt(index-1)=="+"))
        {
            result+=str.charAt(index-1);
        }
        while(index<str.length)
        {
            if(parseInt(str.charAt(index))>=0&&parseInt(str.charAt(index))<=9)
            {
                result+=str.charAt(index);
            }
            else break;
            index++;
        }
        if(result==""&&flag==1)
        {
            result="0";
        }
        return parseInt(result);
    }
    
    /*1.显示/隐藏 helptable */
    
    function onHelp()
    {
        var table=document.getElementById("helptable");
        if(table.rows[1].style.display=="none")
        {
            table.rows[1].style.display="";
        }
        else
        {
            table.rows[1].style.display="none";
        }
    }
    /*初始化时的错误信息检测*/
    
    function error_init()
    {
        var table=document.getElementById("ErrorTable");
        if(document.getElementById("error").value!="")
        {
            alert("保存配置信息出错,详情请查看错误信息");
            table.rows[0].style.display="";
        }
        if (document.getElementById("error2").value != "")
        {
            alert(document.getElementById("error2").value);
        }
    }
    /*点击“查看错误信息时”用于显示错误信息*/
    
    function onShowError()
    {
        var error=document.getElementById("error");
        var winObj=window.open();
        if(winObj == null)
        {
            alert("由于您的浏览器禁止了弹出窗口,部分信息无法显示!");
            return;
        }
        var content="<html><head><meta http-equiv=Content-Type content=text/html; charset=utf-8><title>错误信息</title>";
        content+="<link href=/html/STYLE.CSS rel=stylesheet type=text/css></head>";
        content+="<body class='body3'><form><table><tr><td class=errorinfo>";    
        content+=error.value;
        content+="</td></tr></table></form></body></html>";
        winObj.document.open();
        winObj.document.write(content);    
        winObj.document.close();
    }
    
    /*****************************************************************
        EnterCancel()            功能:屏蔽键盘输入的回车键
    *****************************************************************    */
    function EnterCancel()
    {
        if(event.keyCode == 13)
        {
            event.cancelBubble = true;
        }
    }    
    
    /************************************************************************
        ChangeToTab() 功能:在ip输入框中输入"."转向下一个对象
    
    
    
    
    
    *************************************************************************/
    function ChangeToTab()
    {
        if(event.keyCode == 110 || event.keyCode == 190)
        {
            event.keyCode = 9;//tab    
        }
        return false;
    }
    
    /*********************************************************************************
                    设置cookie,删除指定cookie,获取cookie值
    
    
    
    
    
    1.GetCookieVal(offset)  得到第offset个cookie值对,
    2.GetCookie(name)        根据cookie name得到cookie值
    
    
    
    
    
    3.SetCookie(name,value,expires,path,domain,secure)    创建或修改cookie
    4.DelCookie(name,path,domain)        删除cookie    
    **********************************************************************************/
    //得到第offset个cookie值对,
    function GetCookieValue(offset)
    {
        var end = document.cookie.indexOf(";", offset);
        if(end == -1)
        {
                end = document.cookie.length;
        }
        return unescape(document.cookie.substring(offset, end));
    }
    
    //根据cookie name得到cookie值
    
    
    
    
    
    function GetCookie(name)
    {
        var arg = name + "=";    
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while( i < clen)
        {
                var  j = i + alen 
                if(document.cookie.substring(i,j) == arg)
                {
                    return GetCookieValue(j);
                }
                i = document.cookie.indexOf(" ",i) + 1;
                if( i == 0)
                {
                        break;
                }
        }
        return "";
    }
    
    
    //创建或修改cookie
    function SetCookie(name,value,expires,path,domain,secure)
    {
        document.cookie = name + "=" +    escape(value) + 
            ((expires) ? "; expires=" + expires : "") +
            ((path) ? "; path=" + path : "") + 
            ((domain) ? "; domain=" + domain : "") +
            ((secure) ? "; secure" : "");
    }
    
    
    //删除cookie
    function DelCookie( name ,path, domain)
    {
            if(GetCookie(name) != "")
            {
                document.cookie = name + "=" +
                    ((path) ? "; path="+path : "") +
                    ((domain) ? "; domain="+domain : "") + 
                    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
                
                return true;
            }
            
            return false;
    }
    /*******************************
    //在父页面加上遮罩层,避免谷歌下
    //可以重复弹出窗口引起一些问题
    ******************************/
    function showMaskLayer()
    {
        if(!isChrome())
        {
            return null;
        }
        var div=this.document.createElement("div");
        //div.style.width=parent.document.documentElement.scrollWidth - 20 +"px";
        div.style.width = "100%";
        //div.style.height=screen.height - 20 +"px";
        div.style.height = "100%";
        div.style.backgroundColor="#777";
        div.style.position="fixed";
        div.style.left=0;
        div.style.top=0;
        div.style.zIndex=9999;
        div.style.opacity = 0.2;
    
                
        this.document.body.appendChild(div);
        return div;
    }
    
    /*******************************
    //去掉遮罩层
    ******************************/
    function removeMaskLayer()
    {
        var div = this;
        if(div != null)
        {
            this.parentNode.removeChild(div);
        }
    }
    
    /*********************************
    //在Firefox下调整弹出位置
    *********************************/
    function AdjustPostion(szParm)
    {
        if(!isFirefox() && window.showModalDialog) //其他浏览器下已经是在中间弹出
        {
            return szParm;
        }
        var pureNum = new RegExp(/^[0-9]{1,}$/);
        var winHeight = szParm.replace(/.*dialogHeight:([0-9]*)px.*/,"$1");
        var winWidth = szParm.replace(/.*dialogWidth:([0-9]*)px.*/,"$1");
        var leftPos = screen.width;
        var topPos = screen.height;
        var defSize = 600; //没有设置高度时,有一个默认值
        
        if(!pureNum.test(winHeight))
        {
            if(defSize >= topPos)
            {
                topPos = 0; //没有设置值,屏幕分辩率又很小时,直接在左上角显示,一般不会出现
            }
            else
            {
                topPos = (topPos - 600)/2;    
            }
            
        }
        else 
        {
            topPos = (topPos - parseInt(winHeight) - 60)/2; //需要考虑标题栏的高度
        }
        
        if(!pureNum.test(winWidth))
        {
            if(defSize >= leftPos)
            {
                leftPos = 0;
            }
            else
            {
                leftPos = (leftPos - 600)/2;    
            }        
        }
        else
        {
            leftPos = (leftPos - parseInt(winWidth))/2;
        }    
        return szParm + ";dialogTop:" + topPos + "px" + ";dialogLeft:" + leftPos + "px";
    }
    /*******************************************
    将Showmodaldialog的参数转换为window.open的形式
    *******************************************/
    function ParamChange(arg)
    {
        var str = "";
        var szTmp = "";
        var args = arg.split(";");
        var len = args.length;
        for (var i = 0; i < len; i++)
        {
            an = args[i].split(/=|:/)[0];
            av = args[i].split(/=|:/)[1];
            switch(an)
            {
                case "dialogWidth":
                    szTmp = "width=" + av + ",";
                    str += szTmp;
                     break;
                case "dialogHeight":
                    szTmp = "height=" + av + ",";
                    str += szTmp;
                    break;
                case "scroll":
                    if (av == "0" || av == "no" || av == "off"){
                        str += "scrollbars=no,"; 
                    } else{
                        str += "scrollbars=yes,";
                    }
                    break;
                case "status":
                    if (av == "0" || av == "no"){
                        str += "status=no,"; 
                    } else{
                        str += "scrollbars=yes,";
                    }                
                    break;
                case "dialogTop":
                    szTmp = "screenY=" + av + ",";
                    str += szTmp;
                    break;
                case "dialogLeft":
                    szTmp = "screenX=" + av + ",";
                    str += szTmp;
                    break;
                case "":
                    break;
                default:
                    szTmp = an + "=" + av + ",";
                    str += szTmp;
                    break;
            }
        }
        return str;
    }
    /********************
    关闭子页面后的处理
    ********************/
    function AfterClose()
    {    
    
        //关闭窗口
        if (g_openwnd == null || g_openwnd.closed)
        {
            try{
            if (g_div_main)
            {
                removeMaskLayer.apply(g_div_main, arguments);
            }
            if (g_div_left)
            {
                removeMaskLayer.apply(g_div_left, arguments);
            }
            if (g_closewnd_cb)
            {
                g_closewnd_cb();
            }
            }catch(e)
            {
            }
            g_openwnd = null;
            g_closewnd_cb = null;
            g_div_main = null;
            g_div_left = null;
            
            window.top.clearInterval(g_wnd_close_timer);
            g_wnd_close_timer_flag = false;
        }
    }
    /************************************************************************************
        MyshowModalDialog()
           用来替换showModalDialog(),因为当IE屏蔽弹出窗口时,子页面中执行showModalDialog()
        会出异常,因此要在其前后加入处理异常的try,catch,为了方便以后更改,固在统一改用
        另外一个函数来替换
    *************************************************************************************/
    
    function MyshowModalDialog(path, obj, string, cb)
    {
        var rv = true;
        string += ";help:no;";//staus:no;";
        exp1 = new RegExp(/dialogWidth:[1-2][0-9][0-9]px/);
        exp2 = new RegExp(/dialogWidth:[3][0-5][0-9]px/); 
        if(exp1.test(string))
        {
            //string += ";dialogWidth:360px;"
            var szTmp = string.replace(/dialogWidth:[1-2][0-9][0-9]px/,"dialogWidth:360px");
            string = szTmp;
        }
        else if(exp2.test(string))
        {
            var szTmp = string.replace(/dialogWidth:[3][0-5][0-9]px/,"dialogWidth:360px");
            string = szTmp;        
        }
        g_div_main = showMaskLayer();
        g_div_left = null;
        if(typeof(parent.frames['leftFrame']) != "undefined")
        {
            g_div_left = showMaskLayer.apply(parent.frames['leftFrame'], arguments);
        }
        string = AdjustPostion(string);
        if (window.showModalDialog)
        {
            try
            {
                window.showModalDialog(path, obj, string);
                //showModalDialog(path, obj, string);
            }
            catch(e)
            {
                alert("无法正常弹出窗口,
    
    请检查您的浏览器选项中是否选择了阻止弹出窗口!");
                rv = false;
            }
            if (g_div_main != null)
            {
                removeMaskLayer.apply(g_div_main, arguments);
            }
            if(g_div_left != null)
            {
                removeMaskLayer.apply(g_div_left, arguments);
            }
            g_openwnd = null;
            g_closewnd_cb = null;
            g_div_main = null;
            g_div_left = null;
        }else {
            string = ParamChange(string);
            var newWnd = window.open(path,"",string); 
            if (newWnd == null){
                alert("无法正常弹出窗口,
    
    请检查您的浏览器选项中是否选择了阻止弹出窗口!");
                rv = false;
            } else{
                newWnd.window.dialogArguments = obj;
    
                g_openwnd = newWnd;
                g_closewnd_cb = cb;
    
                if (typeof(g_wnd_close_timer_flag) == "undefined" || g_wnd_close_timer_flag == false) {
                    g_wnd_close_timer = window.top.setInterval(AfterClose, 500);
                    g_wnd_close_timer_flag = true;
                }
            }
        }
        
        return rv;
    }
    
    
    
    /*************************************************************************************
    ajx异步请求 -open的参数为false,所以其实是同步,非异步
    makeRequest(csUrl,NoticeCgiToSave)
    url             --    要连接的服务器(当是get的时候,可以直接将参数附在url中)
    callback     --    返回后的处理函数
    param            --    当是POST的时候,可以通过它上传提交内容,当是GET时此参数应为null
    methods        --    POST/GET/HEADER,默认为POST
    encodeType  -- 是否要设置http头部的content-type字段,当使用FormData方法将整个表单
                    --构造成数据提交时,不能设置这个字段
    ***************************************************************************************/
    
    function makeRequest(url, callback, param, methods,encodeType)
    {
        if(!methods)
        {
            methods = 'POST';    
        }
        if(!encodeType)
        {
            encodeType = false;    
        }
        http_request = false;
    
      if(window.XMLHttpRequest) 
      {
            http_request = new XMLHttpRequest();
            if(http_request.overrideMimeType) 
            {
                http_request.overrideMimeType('text/xml');
            }
      } 
      else if (window.ActiveXObject)
      {
            try 
            {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) 
            {
          try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) 
            {}
            }
      }
    
      if(!http_request) 
      {
            alert("对不起,您的IE不支持AJAX 对象,
    
    操作无法进行!");
            return false;
      }
    
        try
        {
          http_request.onreadystatechange = callback;
          http_request.open(methods, url, false);
          if(methods.toLowerCase() == "get")
          {
                http_request.send(null);
            }
            else
            { 
                if(encodeType == false)  //在ajax中需要提交FormData构造的表单数据时,不能设置下面这个
                {
                    http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                }
                if(!isChrome())
                {
                    http_request.setRequestHeader("content-length",param.length); 
                }
                http_request.send(param);
            }
        }
        catch(E)
        {
            ;
        }
        if (http_request.readyState == 4 && http_request.status != 200)
        {
            if (http_request.status == 0 || http_request.status == 12029) //新浏览器断网时这个值是0
            {
                alert("连接失败,可能是网络不通,请检查!");
            }
            else if (http_request.status == 12152)
            {
                alert("连接中断,不确定请求是否完成!");
            }
            else
            {
                alert("连接失败("+http_request.status+")");
            }        
        }
        return true;
    }
    
    /*************************************************************************************
    ajx异步请求 - open的参数为true
    makeRequest(csUrl,NoticeCgiToSave)
    url             --    要连接的服务器(当是get的时候,可以直接将参数附在url中)
    callback     --    返回后的处理函数
    param            --    当是POST的时候,可以通过它上传提交内容,当是GET时此参数应为null
    methods        --    POST/GET/HEADER,默认为POST
    encodeType  -- 是否要设置http头部的content-type字段,当使用FormData方法将整个表单
                    --构造成数据提交时,不能设置这个字段
    ***************************************************************************************/
    function makeRequest_asyn(url, callback, param, methods,encodeType)
    {
        if(!methods)
        {
            methods = 'POST';    
        }
        if(!encodeType)
        {
            encodeType = false;    
        }
        http_request = false;
    
      if(window.XMLHttpRequest) 
      {
            http_request = new XMLHttpRequest();
            if(http_request.overrideMimeType) 
            {
                http_request.overrideMimeType('text/xml');
            }
      } 
      else if (window.ActiveXObject)
      {
            try 
            {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) 
            {
          try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) 
            {}
            }
      }
    
      if(!http_request) 
      {
            alert("对不起,您的IE不支持AJAX 对象,
    
    操作无法进行!");
            return false;
      }
    
        try
        {
          http_request.onreadystatechange = callback;
          http_request.open(methods, url, true);
          if(methods.toLowerCase() == "get")
          {
                http_request.send(null);
            }
            else
            { 
                if(encodeType == false)  //在ajax中需要提交FormData构造的表单数据时,不能设置下面这个
                {
                    http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                }
                if(!isChrome()) //Chrome下,设置长度字段被认为是不安全的行为,虽然不影响功能,但会给出错误提示
                {
                    http_request.setRequestHeader("content-length",param.length); 
                }
                http_request.send(param);
            }
        }
        catch(E)
        {
            ;
        }
        return true;
    }
    
    function UnablePage()
    {
        //禁用所有input(不禁用button)
        var oTagsInput = document.getElementsByTagName("input");  
         var nLength = oTagsInput.length; 
        for (var i=0; i<nLength; i++)  
        {   
            if (oTagsInput[i].type != "button")
            {
                oTagsInput[i].disabled = true;
                oTagsInput[i].className = "input_readonly";
            }
        }
        
        //禁用所有select
        oTagsInput = document.getElementsByTagName("select");  
        nLength = oTagsInput.length; 
        for (var i=0; i<nLength; i++)  
        {   
            oTagsInput[i].disabled = true;
            oTagsInput[i].className = "input_readonly";
        }
    
        //禁用textarea
        oTagsInput = document.getElementsByTagName("textarea");  
        nLength = oTagsInput.length; 
        for (var i=0; i<nLength; i++)  
        {   
            oTagsInput[i].disabled = true;
            oTagsInput[i].className = "input_readonly";
        }
    }
    
    //IE5以下不支持encodeURIComponent和encodeURI, Added by Czy
    if(typeof encodeURIComponent!='function')
    {
            var encodeURIComponent=function(s)
            {
                    var result=[];
                    var len=s.length;
                    for(var i=0;i<len;i++)
                    {
                            var code = s.charCodeAt(i);
                            if (code == 33 
                                || (code >= 39 && code <= 42)
                                || code == 45
                                || code == 46
                                || (code >= 48 && code <= 57)
                                || (code >= 65 && code <= 90)
                                || code == 95
                                || (code >= 97 && code <= 122)
                                || code == 126)
                            {
                                result += s.charAt(i);
                            }
                            else
                            {
                                result += encodeUTF8(s.charCodeAt(i));
                            }
                    }
                    //return result.join("");
                    return result; 
            }
    }
    
    if(typeof encodeURI!='function')
    {
            var encodeURI=function(s)
            {
                    var result=[];
                    var len=s.length;
                    for(var i=0; i<len; i++)
                    {
                            var code = s.charCodeAt(i);
                            if (code == 33
                                || code == 35
                                || code == 36
                                || (code >= 38 && code <= 59)
                                || code == 61
                                || (code >= 63 && code <= 90)
                                || code == 95
                                || (code >= 97 && code <= 122)
                                || code == 126)
                            {
                                    //result.push(s.charAt(i));
                                    result += s.charAt(i);
                            }
    
                            else
                            {
                                    //result.push(encodeUTF8(code));
                                    result += encodeUTF8(code);
                            }
                    }
                    //return result.join("");
                    return result;
            }
    }
    
    function encodeUTF8(code)
    {
            if(code<=16) 
                   return "%0"+code.toString(16);
    
            var iByte=0;
            var i=0;
            result="";
    
            while(code>0x7f)
            {
                    iByte=code%0x40; 
                    code=(code-iByte)/0x40;
                    result="%"+(iByte|0x80).toString(16).toUpperCase()+result;
                    i++;
            }
    
            prefix=[0x0,0xc0,0xe0,0xf0,0xf8,0xfc];
            if(i>prefix.length)
            {
                    i=5;
            }
            result="%"+(code|prefix[i]).toString(16).toUpperCase()+result;
            return result;
    }
    // begin add by lbc . 2011-12-19. 添加合法Mac地址判断函数。
    // 返回值:0、MAC地址合法。1、MAC地址格式不正确。2、MAC地址为组播地址。
    function isMacAddr(str)
    {
        var nLen = strlen(str);
        if (nLen != 17)
        {
            return 1;
        }
        
        var zeroNum = 0;
        var fNum = 0;
        
        for (var i=0;i<nLen;i++)
        {
            switch(str.charAt(i))
            {
                case '0':
                    zeroNum++;
                    break;
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                case '8':
                case '9':
                case 'a':
                case 'b':
                case 'c':
                case 'd':
                case 'e':
                    break;
                case 'f':
                    fNum++;
                    break;
                case 'A':
                case 'B':
                case 'C':
                case 'D':
                case 'E':
                    break;
                case 'F':
                    fNum++;
                    break;
                case '-':
                    if ( i != 2 && i != 5 && i != 8 && i != 11 && i != 14)
                    {
                        return 1;
                    }
                    break;
                default:
                    return 1;
            }
        }
        if(str.charAt(2) != '-' || str.charAt(5) != '-' || str.charAt(8) != '-' || str.charAt(11) != '-' || str.charAt(14) != '-')
        {
            return 1;
        }
        if (zeroNum == 12 || fNum == 12)
        {
            return 2;
        }
        
        /*modifi for TD 13540, 组播地址判断应以第48位为1来判断*/
        /*
        if(str.charAt(0) == '0' && str.charAt(1) == '1' && str.charAt(3) == '0' && str.charAt(4) == '0' && str.charAt(6) == '5' && (str.charAt(7) == 'e' || str.charAt(7) == 'E'))
        {
            return 2;
        }
        */
        var LastByte = 0;
        LastByte = parseInt(str.substr(0,2),16);
        if(LastByte % 2 == 1)
        {
            return 2;
        }
        
        return 0;
    }
    // end add
    
    // begin add by lbc . 2011-11-19 . 将带“-” 的MAC地址转换为不带“-” 的MAC地址
    function macLongFormatToShort(str)
    {
        result = str.substr(0,2) + str.substr(3,2) + str.substr(6,2) + str.substr(9,2) + str.substr(12,2) + str.substr(15,2);
        return result;
    }
    // end add
    
    // begin add by lbc . 2011-11-19. 将不带“-” 的MAC地址转换为带“-” 的MAC地址
    function macShortFormatToLong(str)
    {
        result = str.substr(0,2) + "-" + str.substr(2,2) + "-" + str.substr(4,2) + "-"
            + str.substr(6,2) + "-" + str.substr(8,2) + "-" + str.substr(10,2);
        return result;
    }
    // end add
    (function(win)
    {
        var ua = navigator.userAgent.toLowerCase(),
        DOC = document, 
        check = function(r)
        {
            return r.test(ua);
        }, isOpera = check(/opera/), 
         docMode = DOC.documentMode,    
        isIE = !isOpera && check(/msie/),
        isIE7 = isIE && (check(/msie 7/) || docMode == 7),
        isIE8 = isIE && (check(/msie 8/) && docMode != 7),
        isIE6 = isIE && !isIE7 && !isIE8;
        win.SF = win.SF||{};
        SF.isIE = isIE;
        SF.isIE6 = isIE6;
        SF.isIE7 = isIE7;
        SF.isIE8 = isIE8;
    })(window);
    
    String.format =function (b) {
             var a = Array.prototype.slice.call(arguments, 1); 
             return b.replace(/{(d+)}/g, function (c, d) {return a[d];}); 
    }
    
    function Mask(msg)
    {
            var el =  document.createElement("div"),isShow =false,
                docHeight = document.body.clientHeight,
                docWidth = document.body.clientWidth, 
                str = ["<div class="maskDivIE" style=" height: 100%;">", 
                           " <div style="height:16px; padding:10px; border:1px solid #009933; 300px;position:absolute; background-color:#FFFFFF; color:#003300">",
                                "<img  style="float:left;" src="/html/images/Dimg.gif"/> ",
                                "<div class="txt" style="padding-left:15px; float:left;font-size:13px;">{0}</div>",
                              // "<a onclick="closeMask()" style="cursor:pointer;"></a>", 
                        " </div>",    
                 "</div> "];
             
              el.className="ui-overlay";
              el.style.height=400;
              el.style.diaplay="none";
              document.body.appendChild(el);
              el.innerHTML=String.format(str.join(""),msg) ; 
              function center(){
                  var disel = el.children[0].children[0];
                  disel.style.top =docHeight/2-20;
                  disel.style.left = docWidth/2 - 150;
              }
              function showMask()
              {
                    el.style.display="";
                  center();
                  isShow = true;
              }
              function hideMask()
              {
                    el.style.display="none";
                  isShow = false;
              }
              function updateMaskText(txt)
              {
                   el.innerHTML=String.format(str.join(""),txt) ;
              }
              return {
                    show:showMask,
                  hide:hideMask,
                  el:el,
                  update:updateMaskText 
              }
    }
    
    //add by wlb for mig4.0(合入MIG3.0)
    function getPostfixText(str)
    {
        str = Trim(str);
        if (str == "")
        {
            return str;
        }
        
        var postfix = "_全局";
        var pflen = postfix.length;
        var npos = str.length - pflen;
        if (npos > 0 && str.substring(npos) == postfix)
        {
            return str;
        }
    
        return str+postfix;
    }
    
    function delPostfixText(str)
    {
        str = Trim(str);
        if (str == "")
        {
            return str;
        }
        
        var postfix = "_全局";
        var pflen = postfix.length;
        var npos = str.length - pflen;
        if (npos > 0 && str.substring(npos) == postfix)
        {
            return str.substring(0, npos);
        }
    
        return str;
    }
    //end add by wlb for mig4.0
    //如果是MIG模板则添加_全局
    //如果不是MIG模板则不允许设置_全局结束
    function SetPostfixText(str, bPlatMig)
    {
        var postfix = "_全局";
        var pflen = postfix.length;
        var npos = str.length - pflen;
        if (npos > 0 && str.substring(npos) == postfix)
        {
            return bPlatMig == "1" ? str : "";
        }
        return bPlatMig == "1" ? str+postfix : str;
    }
    
    //xiaoxiong添加 使页面可输入内容不可用
    function DisablePage()
    {
        var allInput = document.body.getElementsByTagName("input");
        for(var i = 0 ; i<allInput.length;i++)
        {
            var item = allInput[i];
            if(item.type=="text" || item.type=="radio" || item.type=="checkbox" || item.type=="password")
            {
                item.disabled=true;
            }
        }
        var allSelect = document.body.getElementsByTagName("select");
        for(var i = 0 ; i<allSelect.length;i++)
        {
            var item = allSelect[i];
            item.disabled=true;
        }
        var allTextarea = document.body.getElementsByTagName("textarea");
        for(var i = 0 ; i<allTextarea.length;i++)
        {
            var item = allTextarea[i];
            item.disabled=true;
        }
    }
    /* 初始化搜索框
     * id: 搜索框的id
     * searchfun: 搜索函数
     * buttonid: 搜索按钮的id
    */
    function InitSearchInput(id, searchfun, buttonid)
    {
        var obj = document.getElementById(id);
        if(obj.value == "")//初始化时并没有输入
        {
            obj.checked = false;
            obj.style.color = "gray"
            obj.value = obj.title;
        }
        else
        {
            obj.checked = true;
            obj.style.color = "black";
            //搜索后聚焦
            /*TD7767 如果对象已经被隐藏,调用focus会出错,去掉
            obj.focus();
            var count=obj.value.length;
            var a = obj.createTextRange();
            a.moveStart('character',count);
            a.collapse(true);
            a.select();
            */
        }
        //聚焦时
        obj.onfocus = function()
        {
            if(obj.checked == false)
            {
                this.value = "";
            }
            this.style.color="black";
        };
        //失去焦点时
        obj.onblur = function()
        {
            if(this.value == "")
            {
                this.style.color = "gray"
                this.value = this.title;
                this.checked = false;
            }
            else
            {
                this.style.color = "black";
                this.checked = true;
            }
        };
        //回车
        var onkeydownfun = "if(event.keyCode == 13)" + 
                         "{" +
                            "if(typeof " + searchfun + " == 'function')" + 
                            "{" + 
                                searchfun + "(this.value);" +
                            "}" + 
                            "try{this.focus();} catch(err){}return false;" +        //TD7767 这里不会出现被隐藏
                         "}";
        obj.onkeydown = new Function("", onkeydownfun);
        //点击搜索
        var searfuncmd = searchfun + " ((document.getElementById('" + id + "').checked == false) ? '' : document.getElementById('" + id + "').value);";
        var ifcmd = "if(typeof " + searchfun + " == 'function')";
        var strcmd = ifcmd + "{" + searfuncmd + "}" + "try{document.getElementById('" + id + "').focus()} catch(err){}return false;";//退出时获取焦点 //TD7767 这里不会出现被隐藏
        document.getElementById(buttonid).onclick = new Function("", strcmd);
    }
    /*
     * 发出ajax请求
     * bAsync 可选,是否异步,默认是异步的
     */
    function ajaxRequest(url,postStr,responseFunc,srcObject, bAsync)
    {
      var bAsyncReq = (typeof bAsync === "undefined") ? true : bAsync;
        
        
        if(!bAsyncReq)
        {
            makeRequest(url,null,postStr);
             var rc = responseFunc(http_request,srcObject);
            if(typeof rc === "undefined")
                return true; /* 无返回值直接返回true */
            else
                return rc;
        }
        else
        {
            makeRequest_asyn(url,function()
            {
                if (http_request.readyState == 4 && http_request.status == 200)
                {
                    responseFunc(http_request,srcObject);
                    return true;
                }
            },
            postStr);    
        }
        return true;
    }
    
    function respType(respStr)
    {
        var typestr = respStr.substring(0,7);
        var infostr = "";
    
        if( respStr.indexOf("登录",0) >=0 )
            typestr = "invalid";
        if ( typestr!="success" && typestr!="errored" && typestr!="invalid" )    
        {
            typestr = "notrecg";
            if(strlen(respStr) > 150)
                infostr = "未知错误!";
            else
               infostr = respStr;
        }else{
            if ( typestr == "invalid")
                infostr = "请重新登录!"
            else
                infostr = respStr.substring(8);
        }
    
        return {type:typestr,info:infostr};
    }
    function isIE()
    {
        return navigator.userAgent.indexOf('MSIE') >= 0 || navigator.userAgent.indexOf('Trident') >= 0;
    }
    
    function cancelBack()
    {
        if(event.keyCode == 8)
        {
            
            event.cancelBubble = true;
            event.returnValue = false;
            return false;
        }
    }
    
    function initFileSpan(textId,fileId,fileName,onchangeEvent,displayStr)
    {
        var filespan = document.getElementById("filespan");
        filespan.style.display="inline";
        filespan.innerHTML="<input type=text name="+textId+" class=input2 id="+textId+" readonly />
    " +
                            "<input type=button class=buttons id=filebutton value="浏览 ..." id=filebutton />" +
                            "<input type=file id="+fileId+" name="+fileName+" />";
        var text = document.getElementById(textId);
        var button = document.getElementById("filebutton");
        var file = document.getElementById(fileId);
        
        text.style.backgroundColor = "#EEEEEE";
        if (displayStr != null)
        {
            text.value = displayStr;
            text.style.color = "#CDC5BF";
        }
        button.style.width = "73px";
        if(navigator.userAgent.indexOf('MSIE') >= 0)//IE7,8,9,10
        {
            button.style.position    =    "absolute";
            button.style.right    =    "0px";
        }
        else//IE11,ff,chrome
        {
            button.align = "right";
            button.style.margin = "0px";
        }
        
        file.style.width    =    "73px";
        file.style.height    =    "18px";
        file.style.position    =    "absolute";
        if(navigator.userAgent.indexOf('MSIE') >= 0)//IE7,8,9,10
        {
            file.style.top    =    "1px";
            button.style.top = "-1px";
            file.style.right    =    "1px";
            
        }
        else//IE11,ff,chrome
        {
            file.style.top    =    "-3px";
            file.style.right    =    "0px";
        }
        if(isIE10())
        {
            button.style.top = "-2px";
        }
        
        file.style.margin    =    "0px";
        file.style.padding    =    "0px";
        file.style.border    =    "none";
        file.style.filter    =    "alpha(opacity = 0)";
        file.style.opacity    =    "0";
        
        file.onmouseover = function(){
            button.className = "buttons_hover";
        }
        file.onmouseout = function(){
            button.className = "buttons";
        }
        if (typeof onchangeEvent != "undefined" && onchangeEvent !=null)
        {
            file.onchange = onchangeEvent;
        }
        else
        {
            file.onchange = function(){
                text.value = getFileName(file.value);
                text.style.color = ""; //用户选择文件之后,清除原来的提示文本颜色设置
            }
        }
        
    }
    /*****************************
    //增加文件大小和格式的判断函数
    ******************************/
    function getFileName(fullname)
    {
        var pos1 = fullname.lastIndexOf('/');
        var pos2 = fullname.lastIndexOf('\');
        var pos  = Math.max(pos1, pos2)
        if( pos<0 )
            return fullname;
        else
            return fullname.substring(pos+1);
    }
    
    function CheckFileExt(filename,expectExt)
    {
        if(filename.indexOf(".")>0)
        { 
            var name = filename.split("."); 
            var ext = name[name.length-1].toLowerCase(); 
            if(ext == expectExt)
            {
                return true;
            }        
        }
        
        return false;    
    }
    //返回以KB为单位的文件大小
    function CheckFileSize(obj)
    {
        if(obj == null)
        {
            return -1;
        }
    
        if(window.ActiveXObject)
        {
            try 
               {
                var fullname = obj.value;        
                var fso,f,fname,fsize;
                fso=new ActiveXObject("Scripting.FileSystemObject");
                f=fso.GetFile(fullname);//文件的物理路径
                fsize=f.Size; //文件大小(bit)
                fsize=fsize/1024; //以KB为单位
                return fsize;
            }
               catch(e) 
            {
                 return -2;//控件创建失败,需要修改IE浏览器的设置
            }
        }
        if(obj.files && obj.files.length > 0)
        {
            return obj.files[0].size/1024;
        }
        return -1;
    }
    
    /****************************************
    //将整个表单数据序列化为字符串用于ajax提交
    //注意---表单中有文件时不能使用
    *****************************************/
    //获取指定form中的所有的<input>对象    
    function getElements(formId) {    
        var form = document.getElementById(formId);    
        var elements = form.elements;    
    
        return elements;    
    }   
      
    //获取单个input中的【name,value】数组  
    function inputSelector(element) {    
      if (element.checked)    
         return [element.name, element.value];    
    }    
          
    function input(element) { 
        if (element.type)
        {    
            switch (element.type.toLowerCase()) {    
              case 'submit':    
              case 'hidden':    
              case 'password':    
              case 'text':    
                return [element.name, element.value];    
              case 'checkbox':    
              case 'radio':    
                return inputSelector(element);  
            }
        }
        if (element.tagName.toLowerCase() == "select"){
            return [element.name,element.options[element.selectedIndex].value];      
        }    
        return false;    
    }    
      
    //组合URL  
    
    function serializeElement(element) {      
        var parameter = input(element);    
        
        if (parameter) {    
          var key = encodeURIComponent(parameter[0]);    
          if (key.length == 0) return;    
        
          if (parameter[1].constructor != Array)    
            parameter[1] = [parameter[1]];    
              
          var values = parameter[1];    
          var results = [];    
          for (var i=0; i<values.length; i++) {    
            results.push(key + '=' + encodeURIComponent(values[i]));    
          }    
          return results.join('&');    
        }    
     }    
      
    //调用方法     
    function serializeForm(formId) {    
        var elements = getElements(formId);    
        var queryComponents = new Array();    
        
        for (var i = 0; i < elements.length; i++) {    
          var queryComponent = serializeElement(elements[i]);    
          if (queryComponent)    
            queryComponents.push(queryComponent);    
        }    
        
        return queryComponents.join('&');  
    }
  • 相关阅读:
    [Python] Python2 、Python3 urllib 模块对应关系
    [Python] Mac pip安装的模块包路径以及常规python路径
    git 使用详解
    版本控制工具简介
    python基础练习题(二)
    python简介,安装
    python基础练习题(一)
    python练习题之面向对象(三)
    python之input函数,if,else条件语句使用的练习题(一)
    C++ 静态变量
  • 原文地址:https://www.cnblogs.com/yaya625202/p/12525135.html
Copyright © 2011-2022 走看看