2017-09-25 93 views
0

如果URL包含'!$^*+()%[]\\\';@{}|\"<>`~'這些特殊字符將重定向到給定的URL。我已經做了,但它不工作了64%,這樣的:如果URL包含特殊字符使用javascript重定向到給定的URL

window.onload = function() 
{ 
    var url=location.href; 
    var value1=url.search('iframe'); 
    var value2=url.search('script'); 
    var splChars = '!$^*+()%[]\\\';@{}|\"<>`~'; 

    if((value1!= -1)||(value2!= -1)) 
    { 
     window.top.location.href="www.sample.com"; 
    } 

    url=url.replace(/%20/g," "); 

    for (var i = 0; i < url.length; i++) 
    { 
     if (splChars.indexOf(url.charAt(i)) = -1) 
     { 
      window.top.location.href="www.sample.com"; 
     } 
    } 
} 
+0

爲什麼不對其進行解碼? decodeURI() – Se0ng11

回答

0

能不能請你這個表達式

url=url.replace(/\`|\~|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\+|\=|\[|\{|\]|\}|\||\\|\'|\<|\,|\.|\>|\?|\/|\""|\;|\:|\s/g," "); 
+0

不,它不工作..這是新的。你能否清楚地解釋我。 – sivaranjani

+0

使用正則表達式來處理特殊字符。如果你的字符串與正則表達式匹配,那麼它將替換爲「」。 –

+0

你可以試試這個正則表達式:\ \ | | \ | | \ | | \ | | \ | | | | | | | [| \ | \] | \} | \ || \\ | \'| \ <|\,|\.|\> | \ | | \ | | \「| \」| \; | | \] | \ {| \:| \ s' –

相關問題