ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryのurlとurlパラメータの取得方法を詳しく解説

jqueryのurlとurlパラメータの取得方法を詳しく解説

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-26 10:45:381422ブラウズ

今回は、jqueryでurlとurlパラメータを取得する方法について詳しく説明します。jqueryがurlとurlパラメータを取得するための注意事項は何ですか?実際のケースを見てみましょう。

jquery を使用して URL を取得することと、jquery を使用して URL パラメーターを取得することは、私たちがよく使用する操作です

1. jquery を使用して URL を取得するのは非常に簡単で、コードは次のとおりです:

window.location.href;
実際には、基本的な JavaScript

window object を使用しますが、jquery の知識はありません。

2. jquery で URL パラメーターを取得するのはより複雑で、正規表現を使用する必要があるため、JavaScript の正規表現をよく学ぶことが重要です

まず、 JavaScript を介して URL 内の特定のパラメータを取得する :

//获取url中的参数
    function getUrlParam(name) {
      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
      var r = window.location.search.substr(1).match(reg); //匹配目标参数
      if (r != null) return unescape(r[2]); return null; //返回参数值
    }
この関数を通じて URL 内のパラメータ名を渡すことで、パラメータの値を取得できます。たとえば、URL は

http://localhost:33064/WebForm2 です。 aspx?reurl=WebForm1.aspx

reurl を取得したいです。 値は次のように記述できます。

var xx = getUrlParam('reurl');
JavaScript で URL パラメーターを取得するメソッドを理解する このメソッドを使用して、jquery のメソッドを拡張できます。 jquery を通じて URL パラメーターを取得します。次のコードは、jquery の getUrlParam() メソッドを拡張します

(function ($) {
        $.getUrlParam = function (name) {
          var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
          var r = window.location.search.substr(1).match(reg);
          if (r != null) return unescape(r[2]); return null;
        }
      })(jQuery);
このメソッドを jquery に拡張した後、次のメソッドを通じて特定のパラメーターの値を取得できます:

var xx = $.getUrlParam('reurl');

全コード:


  

2014-4-23 修正

Today in 上記の方法を使用して URL 内のパラメータを取得する場合、URL に渡された中国語パラメータは、解析中にどのようにテストしても文字化けします。いくつかのデバッグの後、パラメータを渡すときに中国語の文字エンコードに encodeURI を使用していましたが、上記のメソッドではパラメータのエンコードを解析するときに unescape を使用していたことがわかりました。それを decodeURI に変更するだけです。

添付: W3School の紹介:

JavaScript unescape() 関数

定義と使用法

unescape() 関数は、escape() でエンコードされた文字列をデコードできます。

パラメータ説明文字列は必須です。デコードまたはエスケープ解除する文字列。

説明

この関数は次のように動作します: %xx および %uxxxx (x は 16 進数を表します) の形式の文字シーケンスを見つけて、これをデコードする Unicode 文字 u00xx および uxxxx 文字シーケンスに置き換えます。 。

ヒントとメモ

注: ECMAScript v3 では、unescape() 関数が標準から削除され、その使用が非推奨になったため、decodeURI() と

decodeURIComponent() に置き換える必要があります。

要約: JavaScript はパラメータに対して同じエンコードおよびデコードメソッドを持たなければなりません:

escape() unescape()

encodeURI() decodeURI()

encodeURIComponent() decodeURIComponent()

別の JavaScript 取得が見つかりましたURL のパラメーターのオンライン メソッド:

<script language="JavaScript" type="text/javascript"> 
function GetUrlParms()  
{
  var args=new Object();  
  var query=location.search.substring(1);//获取查询串  
  var pairs=query.split("&");//在逗号处断开  
  for(var  i=0;i<pairs.length;i++)  
  {  
    var pos=pairs[i].indexOf('=');//查找name=value  
      if(pos==-1)  continue;//如果没有找到就跳过  
      var argname=pairs[i].substring(0,pos);//提取name  
      var value=pairs[i].substring(pos+1);//提取value  
      args[argname]=unescape(value);//存为属性  
  }
  return args;
}
var args = new Object();
args = GetUrlParms();
//如果要查找参数key:
if(args["id"]!=undefined)
{
//如果要查找参数key:
var value1 = args["id"] ;
alert(value1);
}</script>
この記事の事例を読んだ後は、このメソッドを習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

iframe でのページ アンカーの失敗に対処する方法

iframe でドキュメント オブジェクトを取得する手順の詳細な説明

以上がjqueryのurlとurlパラメータの取得方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。