问题
我正在尝试使用Javascript匹配URL的哈希部分。哈希将具有格式
/#\/(.*)\//
使用“new RegExp()”方法创建JS正则表达式很容易实现,但我无法弄清楚如何使用标准格式来完成它,因为最后的两个正斜杠开始发表评论。还有另一种写这个不会发表评论的方法吗?
示例
// works
myRegexp = new RegExp ('#\/(.*)\/');
// fails
myRegexp = /#\/(.*)\//
答案 0 :(得分:10)
是的,不要那样做。每个浏览器都内置了一个非常好的URL解析器。在位置对象(我正在尝试使用Javascript匹配URL的哈希部分。
href
或链接)上设置window.location
,您可以从属性hostname
,pathname
,search
,{读取/写入网址部分{1}}等等。
hash
如果你在哈希中放置一个类似路径的var a= document.createElement('a');
a.href= 'http://www.example.com/foo#bar#bar';
alert(a.hash); // #bar#bar
- 分隔列表,我建议你跟随/
。
对于正则表达式,两个版本对我来说都是相同的。尾随hash.split('/')
不会引起评论。如果您只想安抚一些狡猾的语法高亮显示,则可能会将//
转义为/
。
答案 1 :(得分:2)
它没有开始评论,就像字符串中的两个斜杠一样。看这里:http://jsfiddle.net/Gr2qb/2/