URL Standard
ただし、IE11- は未対応なので、Polyfill を適用する必要があります。
JavaScript
1
2'use strict';
3var url1 = new URL('http://example.com/sample.html');
4url1.searchParams.append('a', 1);
5console.log(url1.toString()); // http://example.com/sample.html?a=1
6
7var url2 = new URL('http://example.com/sample.html?a=1');
8url2.searchParams.append('b', 2);
9console.log(url2.toString()); // http://example.com/sample.html?a=1&b=2
GET パラメータの数を得る
拡張子だけで判断してhtml,phpという拡張子が付いてるときは?で&を2個以上含んでる時のURLは何も処理をしないJavaScriptの書き方は出来ますでしょうか?
拡張子は URL#pathname
を正規表現で切り出す事で得る事が可能です。
URLSearchParams
は iterable なのでスプレッド要素(SpreadElement)で配列化すれば要素数を得られます。
(SpreadElement は多くのサイトでスプレッド演算子(spread operator)と説明されていますが、厳密には演算子に分類されません。)
ただし、SpreadElement は IE11- が未対応なので、IE11- が対象ブラウザに含まれるのなら、Babel 等のトランスコンパイラを使うか、Polyfill の機能に準じて下さい。
JavaScript
1var url3 = new URL('http://example.com/sample.html?a=1&b=2&c=3#d=4&e=5');
2console.log(url3.pathname); // "/sample.html"
3console.log([...url3.searchParams].length); // 3
Polyfill
Re: satoru32 さん
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/28 00:26
2017/07/28 00:34
2017/08/01 08:45