【问题标题】:Parsing hash url to object in JavaScript?将哈希 URL 解析为 JavaScript 中的对象?
【发布时间】:2012-03-22 08:24:14
【问题描述】:
我想根据 URL 中的哈希值在页面加载时执行一个过程。我想我需要 RegEx,因为我正在寻找一个纯 JavaScript 解决方案(没有库依赖项)。
我想要做的是如果哈希是“#/products”,那么我将调用“myIndex()”
否则,如果哈希是“#/products/3”,那么我将调用“myDetail(id)”,其中“id”是产品编号的变量。
有人知道如何实现这一点吗?
【问题讨论】:
标签:
javascript
regex
url
cross-browser
url-routing
【解决方案1】:
这是一个解决方案,首先检查文字字符串'#/products',避免不必要的正则表达式。
var hash = location.hash,
regexID = /^#\/products\/(\d+)$/,
matches;
if (hash == '#/products') {
myIndex();
} else if (matches = hash.match(regexID)) {
myDetail(matches[1]);
}