怎么用js提取字符串中的某一段字符 15

假设用一段字符串是?id=632573&id=79323?ed=7947怎么才能将632573这段字符提取出来呢?我用varb="?id=632573&id=79323?... 假设用一段字符串是?id=632573&id=79323?ed=7947
怎么才能将632573这段字符提取出来呢?
我用var b = "?id=632573&id=79323?ed=7947".replace(/^.+?id\=/,'');提取的是632573&id=79323?ed=7947不是632573
展开
 我来答
可以叫我表哥
推荐于2018-05-17 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
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)方法.
百度网友04f0758
2014-01-08 · TA获得超过7286个赞
知道大有可为答主
回答量:2055
采纳率:84%
帮助的人:953万
展开全部
var url ='?id=632573?id=79323&ed=7947';
var str = url.substr(1); 
strs = str.split("?");
var theRequest = new Object(); 
theRequest[strs[0].split("=")[0]]=unescape(strs[0].split("=")[1]);
var id = theRequest['id']; //取得ID
alert(id);

 以上仅解决你这个例子的情况,以为大多数情况下URL参数的键名都不是一样的

而且开头一个?中间都是& 所以实际可以一次性获取全部的参数的

//这个是正常的URL注意id和id2键名不一样中间都是&间隔
var url ='?id=632573&id2=79323&ed=7947'; 
var str = url.substr(1); //去掉第一个?
strs = str.split("&");//以&分割
var theRequest = new Object(); 
//取得全部并赋值
for(var i = 0; i < strs.length; i ++) { 
  theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); 

//输出
var id = theRequest['id']; //取得ID
var id2 = theRequest['id2']; //取得ID2
var ed = theRequest['ed']; //取得ed
alert(id);
alert(id2);
alert(ed);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhuwhzyjsxy
2014-01-08 · 超过10用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:27.2万
展开全部
答案一:"?id=632573&id=79323?ed=7947".replace(/^.*?id=(\d+).*$/,'$1')
答案二:"?id=632573&id=79323?ed=7947".replace(/^.*?(\d+).*$/,'$1')
测试通过的~请采纳~不明白的可以继续追问~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Prince____Yu
2014-01-08 · TA获得超过3718个赞
知道小有建树答主
回答量:864
采纳率:33%
帮助的人:959万
展开全部

看到楼上好多人都写了,我也写了一个,希望能帮到你:

var b = "rwewerwer?id=632573&id=79323?ed=7947".match(/(\d+)/g)[0];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nicetimext
2014-01-08 · 超过33用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:39.2万
展开全部
var str = "?id=632573&id=79323?ed=7947";
var s = str.indexOf('=')+1;//第一个=出现的位置
var e = str.indexOf('&');//第一个&出现的位置
var re = str.substring(s,e);//返回的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式