2017-09-25 96 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' –

相关问题