会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
~零度浪漫~
博客园
首页
新随笔
联系
订阅
管理
JS 函数之 GetQuery、SetQuery【转】
原文:
http://www.cftea.com/c/2009/10/BDZ9S07CGGPLPXXH.asp
JS-Code
/**
* get parameters from url
* @method getQuery
* @param {String} key
* @param {String} url
* @return {String | Array}
*/
getQuery : function( key , url )
{
url = url || window.location.href;
var rts = [],rt;
queryReg = new RegExp( '(^|\\?|&)' + key + '=([^&]*)(?=&|#|$)' , 'g' );
while ( ( rt = queryReg.exec( url ) ) != null )
{
rts.push( decodeURIComponent( rt[ 2 ] ) );
}
if ( rts.length == 0 ) return null;
if ( rts.length == 1 ) return rts[ 0 ];
return rts;
},
/**
* set parameters for url
* @method setQuery
* @param {String} key
* @param {String | Array} value
* @param {String} url
* @return {String}
*/
setQuery : function( key , value , url )
{
url = url || window.location.href;
url = url.replace( new RegExp( '(^|\\?|&)' + key + '=[^&]*(?=&|#|$)' , 'g' ) , '' );
value = isArray( value ) ? value : [ value ];
for ( var i = value.length - 1;i >= 0;i --)
{
value[ i ] = encodeURIComponent( value[ i ] );
}
var p = key + '=' + value.join( '&' + key + '=' );
return url + ( /\?/.test( url ) ? '&' : '?' ) + p;
}
posted on
2010-01-07 10:37
ToKens
阅读(
692
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部