urlであるパラメータを取得します.

4057 ワード

本文はweixin_に転載します.44296929のブログの原文リンクhttps://blog.csdn.net/weixin_44296929/articale/detail/101207166
1,下のコードの場合はurlからパラメータ名がnameのパラメータ値を取得します.
var getQuery = function(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);

if (r != null)
	return (r[2]);
	return null;
};
インターネットでいくつかの資料を調べましたが、詳しくないです.記録してください.残してから戻ってきてみます.例えば、私達はurlからstateパラメータを取得したいです.通常はパラメータを持っているGetからurlを要求します.http://test.html?state=102&isreturn=1http://test.html?isreturn=1&state=1022,次のこの正規表現の意味は、var reg=new RegExp("(^|&)"+name+"=(^&"*)(&|;$)",",",","",")^n :任意の先頭nにマッチする文字列."(^|&)"+name :「name先頭または空白name先頭にマッチする文字列」(実は124の前に空白があって、つまり何もないということです.つまり、通配urlの中で一番目のパラメータまたは二つ目のパラメータの場合)[^abc] :abc以外の他の文字にマッチする.[^&] :&以外の任意の文字にマッチする(出現&説明が別のパラメータとなるので、一致しない);[^&]* :任意の数にマッチするのは&以外の文字(つまりname=後の値があると&後に値を取りません)です.n$ :任意の終端nの文字列にマッチする.(&|$) :任意の&最後または空白で終わるパラメータ(すなわち、パラメータが中間または最後のパラメータに一致する場合)にマッチする.([^&]*)(&|$) :マッチング&外部の任意の複数のパラメータ値で、一旦&または空白が発生したら中止する.(次のパラメータに会った&説明しました.つまり、このパラメータは中間の場合、空白の説明に値がない、つまりこのパラメータは最後のパラメータです.) “(^|&)” + name + "=([^&]*)(&|$) :マッチングは&name=先頭またはname=先頭の間で任意の複数の&以外の文字があると&または空白になります.取得を中止します.
最後に、2番目のパラメータです.
(つまり、私たちが要求するパラメータstateはstateやSTATEやStAtEなどにマッチするということですね.大きさや書き込みに敏感ではないです.)i:グローバルマッチングを実行する(最初のマッチが見つかったら停止する代わりに、すべてのマッチを検索する)g:複数行マッチを実行する
追加:RegExpオブジェクトを作成します.new RegExp(pattern、atributes)
newキーワードを使うとRegExpオブジェクトが作成されます.newキーワードを使わないとRegExpオブジェクトは作成されません.
ECMAScriptが標準化されるまでは、m属性はサポートされていません.patternが正規表現である場合は、文字列ではなく、そのパラメータを省略しなければなりません.
————————————————著作権声明:本文はCSDNブロガー「weixinu 44296929」のオリジナル文章で、CC 4.0 BY-SA著作権契約に従い、転載は原文の出所リンクと本声明を添付してください.原文のリンク:https://blog.csdn.net/weixin_44296929/articale/detail/101207166