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;
}

 

转载于:https://www.cnblogs.com/myssh/archive/2010/01/07/1640997.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值