使用JavaScript URL重定向的正则表达式

时间:2015-01-06 02:49:49

标签: javascript regex

我试图将IE8(及向下)重定向到另一个页面。我目前有以下内容:

<!--[if lt IE 9]>
   <script type="text/javascript">
     var oldURL = document.location.href;
     var code = url.slice(-3);        
     window.location = "http://www.example.com/" + code;
  </script>
<![endif]-->

当然,如果IE8访问者在地址上,这是有效的:

http://www.example.com/index.htm#!/ABC

但不是如果他们在:

http://www.example.com/index.htm#!/ABC/subpagehttp://www.example.com/index.htm#!/ABC/subpage/anotherpage

我想要的代码总是遵循#!/但我无法控制它的踪迹。

我在这里找到了一些正则表达式帮助:http://txt2re.com/index-javascript.php3?s=http://www.example.com/index.htm%23!/ABC&18但是如果URL结构将来发生变化,解决方案似乎有点松懈。

我期望上面每个例子中的输出ABC。

这下一步是什么?我想了解最稳定的解决方案。

2 个答案:

答案 0 :(得分:2)

在哈希值上使用split,它返回由&#39; /&#39;

分割的url字符串数组
http://www.example.com/index.htm#!/ABC/subpage/anotherpage

var urlArray = window.location.hash.split('/');
["#!", "ABC", "subpage", "anotherpage"]
urlArray[1] -> "ABC"

答案 1 :(得分:0)

也许你想用:

window.location.hash