如何用js提取字符串中(url)的某一段字符

比如:http://www.baidu.com/id=2837&diu=6574&it=87687 如何提取2837这段数字。
我用var b = "http://www.baidu.com/id=2837&diu=6574&it=87687".replace(/^.+id\=/,''); 提取的是2837&diu=6574&it=87687,如何只提取2837呢。

其实比较简单,分享一段我之前写的js提取URL参数的函数吧

function UrlParamHash(url) {
    var params = [], h;
    var hash = url.slice(url.indexOf("?") + 1).split('&');
    for (var i = 0; i < hash.length; i++) {
        h = hash[i].split("=");
        params.push(h[0]);
        params[h[0]] = h[1];
    }
    return params;
}

// 如下使用, b就是你的URL字符串
var params = UrlParamHash(b),
    id = params['id'];

不过写完发现你的URL不是很标准,因为一般地址和参数直接是用"?"分割的,如果你的不是的话

你可以把函数里indexOf("?")根据你的域名换成indexOf("com/")之类的

也可以根据你具体的URL规则修改整个函数,反正原理就在这里

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-07
var re = /\id=([^&]+)$/gi;
var id = re.exec(location.search);
if (id && id[1]) {
  id = id[1];
}

 方法很多,这是最便捷的一种

第2个回答  推荐于2017-10-10
String.prototype.getQuery = function(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = this.substr(this.indexOf("\?")+1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
var s = "web1.aspx?status=item&mode=edit";
alert(s.getQuery("status"));
alert(s.getQuery("mode"));

String.prototype.getQuery = function(name)
的意思是为String对象增加一个getQuery(name)方法.
第3个回答  2019-06-17
有个web方法,URLSearchParams,可以处理url字符串

如何用js提取字符串中(url)的某一段字符
其实比较简单,分享一段我之前写的js提取URL参数的函数吧 function UrlParamHash(url) { var params = [], h; var hash = url.slice(url.indexOf("?") + 1).split('&'); for (var i = 0; i < hash.length; i++) { h = hash[i].split("="); params.push(h...

怎么用js提取字符串中的某一段字符
String.prototype.getQuery = function(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");var r = this.substr(this.indexOf("\\?")+1).match(reg);if (r!=null) return unescape(r[2]); return null;} var s = "web1.aspx?status=item&mode=edit";alert(...

js获取url参数
js如何获取url参数?我们一起了解一下吧!方法一:正则法方法二:split拆分法方法三:单个参数的获取方法functionGetRequest(){varurl=location.search;\/\/获取url中"?"符后的字串if(url.indexOf("?")!=-1){\/\/判断是否有参数varstr=url.substr(1);\/\/从第一个字符开始因为第0个是?号获取所有除...

请教一下JS正则提取编码后Url中的一段字符串。
请教一下JS正则提取编码后Url中的一段字符串。 20 字符串为:sn=b27de7a6f201b50c9cf65db582b5d913&idx=2&scene=0&title=%E3%80%90%E7%88%B1%E6%97%85%E6%B8%B8%E3%80%91%E3%80%90%E6%AC%A7%E6%B4%B2%E4%B8%83%E8%89%B2%E3%80%91%E5%B... 字符串为:sn=b27de7a6f201b50c9cf65db5...

javascript 怎么获取指定url网页中的内容
.ajax({type:"POST",\/\/请求方式为posturl:"order.class.php?type=add",\/\/请求的地址data:dataFormid,\/\/参数success: function(mag){\/\/success指的是请求并成功返回信息\/\/msg是返回的内容alert(mag);}});举例\/\/假如后台返回的是一个JSON格式的字符串,如"{code:0,msg:\\"执行成功!\\"}"success...

怎样在JavaScript中使用正则表达式截取URL里面特定的字符串?
实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test 实现的机制:通过replace的回调函数获取。

js获取url参数
1. 使用URLSearchParams对象:`URLSearchParams`是一个内置的JavaScript对象,它提供了一种方便的方式来处理URL的查询参数。可以通过以下步骤使用它来获取URL参数:创建一个新的`URLSearchParams`对象,并传入URL的查询字符串。使用`get`方法获取特定参数的值。如果参数存在,该方法将返回该参数的值;否则,...

JS如何截取URL路径中的字符!
var url = "http:\/\/v.youku.com\/v_show\/id_XMjg5OTY1NzMy.html";var str = url.split("\/").pop().replace(\/(^id_)|(\\.\\S+$)\/g,"");\/\/ 输出结果为 XMjg5OTY1NzMyconsole.log(str);字符串提取代码奉上

js获取URL参数
首先,创建一个名为QueryString的函数,它会执行以下操作:从当前URL(location.href)中获取整个路径,然后找到 "?" 符号的位置。 从 "?" 符号后的部分提取参数字符串,使用 substr 方法。 将参数字符串按照 "&" 分割成一个数组(arrtmp)。 遍历数组,对每个参数(如 "name=value")进行解析,...

Js正则匹配提取url的参数值 http:\/\/www.nowcoder.com?key=1&key
var str = "http:\/\/www.nowcoder.com?key=1&key=2&key=3&test=4#hehe";var patt1 = \/key=\\d\/ig; \/\/匹配key=开头,后面匹配一个数字 i表示忽略大小写 g表示尽可能多的匹配 document.write("用正则表达式取值为:" + str.match(patt1));document.write("")var arr = str.match(pat...

相似回答