比如sortid=1&title=这是%20标题 这是合法的
    sortidtitle                是不合法的

解决方案 »

  1.   

    你直接找个urlencode不得了。urlencode的函数原型在google可以搜到。if(param!=urlencode(param)) { alert('不合法'); }
      

  2.   

    var vbs='Public Function URLEncoding(v)\nDim s,t,i,j,h,l,x : s = "" : x=Len(v)\nFor i = 1 To x\nt = Mid(v,i,1) : j = Asc(t)\nIf j> 0 Then\ns = s & "%" & Right("00" & Hex(Asc(t)),2)\nElse\nIf j < 0 Then j = j + &H10000\nh = (j And &HFF00) \\ &HFF\nl = j And &HFF\ns = s & "%" & Hex(h) & "%" & Hex(l)\nEnd If\nNext\nURLEncoding = s\nEnd Function';
    execScript(vbs,'VBScript');
    function urlencode(str)
    {
    var i,chr,re="";
    for(i=0;i<str.length;i++)
    {
    chr=str.charAt(i);
    if("/@*[] ".indexOf(chr)>0 || chr>='a' && chr<='z' || chr>='A' && chr<='Z' || chr>='0' && chr<='9') re+=chr;
    else re+=URLEncoding(chr);
    }
    return re.replace(/\//g,"&").replace(/ /g,"+");
    }
    这是ie下的urlencode。非ie下的话不能用vbscript,urlencode比较长,这里就不方便帖出来。自已去找一个下载吧。