我有一个网址:'#tests/12345678/lists'
我希望只返回' id'这里是' 12345678'。
我试过了:
getIdLocation = $(location).attr("href");
userid = getIdLocation.substring(getIdLocation.lastIndexOf("/") + 1);
返回users
,但是我想从网址返回id的值?
任何想法我怎样才能实现这一目标?谢谢!
答案 0 :(得分:1)
var getIdLocation = $(location).attr("href").hash;
var parts = getIdLocation.split('/');
var userid = parts[1];
答案 1 :(得分:0)
这与其他答案的工作方式类似,但要检查一下以确保它符合预期的格式:
function getUserIdFromUrl(callback) {
var id_from_url_regex = new RegExp(/(#tests\/|\/lists)/)
var parts = $(location).attr("href").split(id_from_url_regex);
var user_id = false;
if (parts.length == 5 && parts[2] === parseInt(parts[2]).toString()) {
user_id = parts[2];
}
if (false !== user_id) {
if (typeof callback == 'undefined') {
return user_id;
} else {
return callback(user_id);
}
} else {
throw "Could not parse id from url";
}
}
try {
getUserIdFromUrl(function(user_id) { alert(user_id); });
} catch(e) {
alert('it failed');
}