如何查找URL.Javascript中第一个参数的索引

时间:2014-10-02 23:34:37

标签: javascript jquery

我有一个网址:'#tests/12345678/lists' 我希望只返回' id'这里是' 12345678'。 我试过了:

getIdLocation = $(location).attr("href"); userid = getIdLocation.substring(getIdLocation.lastIndexOf("/") + 1);

返回users,但是我想从网址返回id的值? 任何想法我怎样才能实现这一目标?谢谢!

2 个答案:

答案 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');
}