如何用JS获取地址栏中(?id=)后面的数字参数!(最好就正则表达式)谢谢了!

http://sdfsdf.html?id=45eee我只获取45当id=4eee时我就只获取4

<script type="text/javascript">
function getUrl(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return "Please input keywords here";
}
$(document).ready(function(){
var getFlag = getUrl("id");// 取到地址栏的id值 45eee
if (getFlag != '') {
//alert(getFlag);
var str = /\d/g;//正则匹配规则,取数字
var temp = getFlag.match(str);//得到数字数组
//alert(temp.length);
for(var i=0; i<temp.length; i++){
document.write(temp[i]);
}
}
});
</script>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-11
alert(location.search.replace(/[^\d]/g, ""));
第2个回答  2011-07-11
我下面的JS代码可以在浏览器上输出所有的参数和值,没有参数的时候输出“没有参数”:

<script language="javascript">
var url=window.location.search;
if(url.indexOf("?")!=-1)
{
var str = url.substr(1)
strs = str.split("&");
for(i=0;i<strs.length;i++)
{
document.write([strs[i].split("=")[0]],'=',unescape(strs[i].split("=")[1]),'<br>');
}
}else document.write('没有参数');
</script>

你现在需要获取id的值,很简单,把我的程序代码改成如下:

<script language="javascript">
var id='';
var url=window.location.search;
if(url.indexOf("?")!=-1)
{
var str = url.substr(1)
strs = str.split("&");
for(i=0;i<strs.length;i++)
{
if([strs[i].split("=")[0]]=='id') id=unescape(strs[i].split("=")[1]);
}
}
</script>
第3个回答  2011-07-11
/(?<=id\=)\d*/
相似回答