截取url中的参数值小结

函数代码:

function getParam(oname,url11){
url11 = decodeURIComponent(url11); //进行解码
if (url11.indexOf("?") != -1) 
{
var str11 = url11.substr(1);             //获取?号后面部分的值
var strs11 = str11.split("&");            //依照&分割成字符串数组     
for (var i = 0; i < strs11.length; i++) 
{
if(strs11[i].split("=")[0]==oname)   //循环遍历找到=号左边的与oname相同的参数
{
return strs11[i].split("=")[1];           //获取参数值
}
}
}
return "";
}

功能:从指定的参数列表(url11:指的是url中从?开始的部分)获取指定名称(oname)的参数值

var resultValue = getParam(oname,url11);

获取到oname所对应的参数值如果直接是值的话就可以直接使用,有一种情况是获得的这个值中还包含多个参数值例如:

resultValue  = "{"a":"324","b":"987"}";   //此时其实是一个JSON字符串

这时如果想获取b的参数值需要用到eval()函数声明成对象(JSON对象)

resultValue   =  eval('('+resultValue  +')');

最后获取b参数的值

var b = resultValue["b"];

所用到的方法:

window.location.search : 从当前URL的?号开始的字符串 。

substr():

定义和用法

可在字符串中抽取从start下标开始的指定数目的字符

stringObject.substr(start,length)
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

返回值:一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

split():

定义和用法

split() 方法用于把一个字符串分割成字符串数组。

语法
stringObject.split(separator,howmany)
参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
返回值:一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

indexOf() :

定义和用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
语法
stringObject.indexOf(searchvalue,fromindex)
参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
说明
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
提示和注释
注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值