Javascript 获取链接(url)参数的方法[正则与截取字符串]
作者:bea
当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。 分解链接的方式: 代码如下: <script type="text/javascript"> <!-- // 说明:Javascript 获取链接(url)参数的方法 function getQueryString(name) { // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 if(location.href.indexOf("?")==-1 || l
当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。
分解链接的方式:
代码如下:
<script type="text/javascript">
<!--
// 说明:Javascript 获取链接(url)参数的方法
function getQueryString(name)
{
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1)
{
return '';
}
// 获取链接中参数部分
var queryString = location.href.substring(location.href.indexOf("?")+1);
// 分离参数对 ?key=value&key2=value2
var parameters = queryString.split("&");
var pos, paraName, paraValue;
for(var i=0; i<parameters.length; i++)
{
// 获取等号位置
pos = parameters[i].indexOf('=');
if(pos == -1) { continue; }
// 获取name 和 value
paraName = parameters[i].substring(0, pos);
paraValue = parameters[i].substring(pos + 1);
// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
if(paraName == name)
{
return unescape(paraValue.replace(/+/g, " "));
}
}
return '';
};
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryString('test'));
//-->
</script>
用正则匹配的方式:
代码如下:
<script type="text/javascript">
<!--
function getQueryStringRegExp(name)
{
var reg = new RegExp("(^|\?|&)"+ name +"=([^&]*)(\s|&|$)", "i");
if (reg.test(location.href)) return unescape(RegExp.$2.replace(/+/g, " ")); return "";
};
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryStringRegExp('test'));
//-->
</script>
有用 | 无用
分解链接的方式:
代码如下:
<script type="text/javascript">
<!--
// 说明:Javascript 获取链接(url)参数的方法
function getQueryString(name)
{
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1)
{
return '';
}
// 获取链接中参数部分
var queryString = location.href.substring(location.href.indexOf("?")+1);
// 分离参数对 ?key=value&key2=value2
var parameters = queryString.split("&");
var pos, paraName, paraValue;
for(var i=0; i<parameters.length; i++)
{
// 获取等号位置
pos = parameters[i].indexOf('=');
if(pos == -1) { continue; }
// 获取name 和 value
paraName = parameters[i].substring(0, pos);
paraValue = parameters[i].substring(pos + 1);
// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
if(paraName == name)
{
return unescape(paraValue.replace(/+/g, " "));
}
}
return '';
};
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryString('test'));
//-->
</script>
用正则匹配的方式:
代码如下:
<script type="text/javascript">
<!--
function getQueryStringRegExp(name)
{
var reg = new RegExp("(^|\?|&)"+ name +"=([^&]*)(\s|&|$)", "i");
if (reg.test(location.href)) return unescape(RegExp.$2.replace(/+/g, " ")); return "";
};
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
alert(getQueryStringRegExp('test'));
//-->
</script>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 不同浏览器对回车提交表单的处理办法
- Jquery iframe内部出滚动条
- jquery 问答知识整理
- 改善你的jQuery的25个步骤 千倍级效率提升
- jQuery 改变CSS样式基础代码
- jQuery 添加/移除CSS类实现代码
- jquery实现的提示浮层跟随鼠标移动
- JavaScript Event学习补遗 addEventSimple
- JavaScript 输入框内容格式验证代码
- Extjs学习过程中新手容易碰到的低级错误积累
- 我遇到的参数传递中 双引号单引号嵌套问题
- 一段实现页面上的图片延时加载的js代码
- JavaScript Event学习第十一章 按键的检测
- JavaScript Event学习第十章 一些可替换的事件对
- jQuery插件 tabBox实现代码
- 基于Jquery的简单&简陋Tabs插件代码
- JQUERY操作JSON实例代码
- JQuery 获得绝对,相对位置的坐标方法
- ExtJs 3.1 XmlTreeLoader Example Error