函数代码:
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。