jQuery Complex Regex检索URL

时间:2012-02-21 21:13:59

标签: jquery ajax regex

我正在制作一个所有ajax网站,并使用jQuery .load()加载我的网页。我在加载新页面时也在更改网址,因此我的帐户网址如下所示:http://mysite.com/#!/account/我的主屏幕看起来像http://mysite.com/#!/。这是我目前使用的代码:

var oldLoc = window.location.hash.replace(/^#\!/,"");
if (oldLoc == '/account/') {
    $('#reload_section').load('account.php');
} else if (check for other urls) {
}

这一切正常,直到我在那里搜索。当用户提交搜索表单时,该网址会更改为此http://mysite.com/#!/search/objects/Query Here,其中对象具有2个值objectsfiles。如何合并正则表达式以将搜索网址分成三个部分,但如果它只是http://mysite.com/#!/accountshttp://mysite.com/#!/,则也可以使用。另外,我如何找到搜索参数,如果我搜索Taco Truck,则url会将其反映为http://mysite.com/search/objects/taco%20truck/


我正在考虑使用这个:

var oldLoc = window.location.hash.replace(/^#\!/,"");
var m = /([\/^\/]+\/)([^\/]+\/)([^\/]+)/.exec(oldLoc);
if (oldLoc == '/account/') {
    $('#reload_section').load('account.php');
} else if (m[1] == '/search/') {
    if (m[2] == 'objects/') {
        currentQuery = 'objects';
    } else if (m[2] == 'files/') {
        currentQuery = 'files';
    }
}  

谢谢!


P.S。我之所以这么说的原因是,如果我不提它,那么正则表达式可能会破裂。

0 个答案:

没有答案