【问题标题】:Jquery extract id from urlJquery从url中提取id
【发布时间】:2011-01-03 01:07:55
【问题描述】:

我有这个代码:

var guestid = $(this).attr('href');

这让我得到了当前的 url,在 url 的末尾有 ?lid=8

如何从该网址中提取 8?我试过这个:

var guestid = $(this).attr('href').match(/\?lid=([0-9]+)$/);

但它返回 null。

【问题讨论】:

标签: jquery design-patterns match


【解决方案1】:

您必须使用$(location).attr('href'); 来使用jquery 获取url 或使用window.location.pathname;。你的正则表达式是正确的

编辑

var mRegexp = /\?lid=([0-9]+)$/; 
var match = mRegexp.exec($(this).attr('href'));
alert(match[1]);

【讨论】:

  • 该代码用于点击操作。当我对 var guestid = $(this).attr('href'); 发出警报时它给了我网址就好了。我只需要知道如何从guestid包含的url字符串中提取id。
  • 如果我这样做, var guestid = $(this).attr('href').match(/\?lid=[0-9]+$/);没有用 () 包围数字,那么它会给我 ?lid=8 作为值。那么我做错了什么只是额外的数字?
  • 使用regex.execvar mRegexp = /\?lid=([0-9]+)$/; var match = mRegexp.exec(myString);lert(match[1]);
【解决方案2】:
$.urlParam = function(name){
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    return results[1] || 0;
}

// вызов: передаём параметр, который хотим достать из url'а
//(translation) Call: passing a parameter that we want to get out of
$.urlParam('Id');

source

【讨论】:

    【解决方案3】:

    如果这是查询字符串中唯一的内容,请执行以下操作:

    var guestid = this.search.split('=')[1];
    

    ...你明白了。

    示例: http://jsfiddle.net/zzhPj/

    不需要正则表达式。

    【讨论】:

      猜你喜欢
      • 2019-12-27
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      • 2014-06-03
      • 2018-01-27
      • 2016-09-08
      相关资源
      最近更新 更多