国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript URL參數(shù)讀取改進(jìn)版

2024-05-06 14:16:12
字體:
供稿:網(wǎng)友

下面是錯(cuò)新站長(zhǎng)站一直也在用的幾種方法
代碼如下:
<script language="javascript" type="text/javascript">
function request(paras){
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
//下面是應(yīng)用代碼
var theurl
theurl=request("url");
if (theurl!=''){
location=theurl
}
</script>

下面是正則函數(shù)
用Javascript正則實(shí)現(xiàn)url鏈接的解析類
//m.survivalescaperooms.com/article/15000.htm

下面的代碼有點(diǎn)亂
/* 《JavaScript權(quán)威指南》介紹的更簡(jiǎn)潔的取 URL 參數(shù)的方法,不用正則表達(dá)式,用一次循環(huán)。一次性返回一個(gè)對(duì)象的好處是只需要調(diào)用一次此函數(shù),參數(shù)和值對(duì)可以存在一個(gè)對(duì)象里,以后再取其它參數(shù)的值就不用再調(diào)用此函數(shù)了,只要取對(duì)象的屬性就行了。
代碼如下:
* 用法:
* var args = getArgs( ); // 從 URL 解析出參數(shù)
* var q = args.q || ""; // 如果定義了某參數(shù),則使用其值,否則給它一個(gè)默認(rèn)值
* var n = args.n ? parseInt(args.n) : 10;
*/
var getArgs = function ()
{
var args = new Object( ); //聲明一個(gè)空對(duì)象
var query = window.location.search.substring(1); // 取查詢字符串,如從 http://www.snowpeak.org/testjs.htm?a1=v1&a2=&a3=v3#anchor 中截出 a1=v1&a2=&a3=v3。
var pairs = query.split("&"); // 以 & 符分開成數(shù)組
for(var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); // 查找 "name=value" 對(duì)
if (pos == -1) continue; // 若不成對(duì),則跳出循環(huán)繼續(xù)下一對(duì)
var argname = pairs[i].substring(0,pos); // 取參數(shù)名
var value = pairs[i].substring(pos+1); // 取參數(shù)值
value = decodeURIComponent(value); // 若需要,則解碼
args[argname] = value; // 存成對(duì)象的一個(gè)屬性
}
return args; // 返回此對(duì)象
}

它的突出優(yōu)點(diǎn)就是程序只用執(zhí)行一次提取操作,以后再重復(fù)取參數(shù)值,都不用再執(zhí)行程序了。取 URL 參數(shù)還是這樣比較簡(jiǎn)便易行,又好理解。

下面是我此前發(fā)表的“不用循環(huán)”但“有些太復(fù)雜”的版本:
代碼如下:
//不用循環(huán)純用正則實(shí)現(xiàn)從 URL 中取參數(shù)的值。取代循環(huán)的核心技術(shù)是字符串的 replace() 方法可以用函數(shù)作第二參數(shù),按用戶定義的方式去替換。
//若有此參數(shù)名但無值,則返回空字符串;若無此參數(shù)名,返回 undefined。
var getArg = function(argname)
{
var str = location.href;
var submatch;
//先從 URL 中取出問號(hào)和井口與之間的查詢字符串,如從 http://www.snowpeak.org/testjs.htm?a1=v1&a2=&a3=v3#anchor 中截出 a1=v1&a2=&a3=v3。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 齐齐哈尔市| 微山县| 江川县| 米泉市| 内乡县| 峨边| 永年县| 龙陵县| 肇东市| 元阳县| 孙吴县| 安庆市| 布拖县| 虹口区| 顺昌县| 常山县| 新丰县| 永定县| 迁安市| 田东县| 菏泽市| 乳源| 东港市| 瓮安县| 宁阳县| 彭山县| 方正县| 平乐县| 门头沟区| 柳江县| 叙永县| 平凉市| 黄陵县| 常德市| 湘潭市| 句容市| 巴楚县| 绥阳县| 太湖县| 平塘县| 开阳县|