我有以下链接:
sitename.com/Default.aspx?PageID=13078494
我想抓住以下内容:" PageID = 13078494"。这就是我到目前为止所做的:
var url = "sitename.com/Default.aspx?PageID=13078494";
urlmatch = url.match([PageID=13078494]);
urlmatch[0];
这是我试图做的正确表达吗?
答案 0 :(得分:2)
答案 1 :(得分:2)
var myregexp = /[?&]PageID=(\d+)/i;
var match = myregexp.exec(url);
if (match != null) {
//This is if your match it successful
result = match[1];
} else {
//This is if url doesn't match
result = "";
}
无论PageID在哪里,都可以使用。它会匹配
重要的是,它不匹配
或者没有检查,只是
url.match(/[?&]PageID=(\d+)/i)[1]
,但我建议反对,除非你确定它总是匹配。
答案 2 :(得分:1)
尝试以下正则表达式,它将提取PageID并将其放在第一个匹配组中:
var url = "sitename.com/Default.aspx?PageID=13078494";
urlmatch = url.match(/PageID=(\d+)/);
alert(urlmatch[1]); // 13078494
答案 3 :(得分:0)
如果您匹配特定值,则没关系,否则请使用以下内容匹配pageID中的任意位数:
/PageID=\d+/
为:
var url = "sitename.com/Default.aspx?PageID=13078494";
var urlmatch = url.match(/PageID=\d+/);
alert(urlmatch[0]);
或匹配pageID中的8位完全数字,请使用:
/PageID=\d{8}/
为:
var url = "sitename.com/Default.aspx?PageID=13078494";
var urlmatch = url.match(/PageID=\d{8}/);
alert(urlmatch[0]);
答案 4 :(得分:0)
在处理网址时,浏览器非常好。
您应该将字符串转换为实际的URL,如下所示:
var toURL = function (href) {
var a = document.createElement('a');
a.href = href;
return a;
};
现在使用浏览器的built-in parsing capabilities:
var url = toURL('sitename.com/Default.aspx?PageID=13078494');
alert(url.search);