4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

URLにパラメータを付与することになったときに使う技

Posted at

#そのときの日付をJavaScriptでゲットする
ユーザーが会員登録をした時などその瞬間の日付を取りたいときがあるかもしれません。
実際パラメータを振っとくとあとから確認する時に便利です。
例えば2018年7月23日15時に登録したユーザーがいる場合、URLに
「201872315」をくっつける感じです。
これは簡単で普通にDate()を使えばいいです。

var d = new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
var date = d.getDate();
var hour = d.getHours();
var parameter = year + month + date + hour;

これでparameterに現在の日付が入ります。

別にこれでもいいのだが
ES2015(ES6)で書きたい気分のときはこういう書き方もあります。テンプレート文字列を使う方法。

const d = new Date();
const parameter = `${d.getFullYear()}`  +
                  `${d.getMonth() + 1}` +
                  `${d.getDate()}`      +
                  `${d.getHours()}`;     

なんかこっちの方がスマートですね。
あとは簡単でlocation.hrefを使って現在のURLを取得してそのURLにパラメータをくっつけてあげます。

location.href + parameter;  

#ランダム文字列を生成する
「ランダムに生成した文字列をURLにくっつけてユーザーを識別したい」
と思うこともあるかもしれません。
そういう時はMath.floor(Math.random())を使って生成してあげます。
変数lcをいじることで桁数も含む文字列も自由に変えることができます。

const l = 8;
const c = "abcdefghijklmnopqrstuvwxyz0123456789";
const cl = c.length;
let uniqueId = '';
for (let i = 0; i < l; i++) {
    uniqueId += c[Math.floor(Math.random() * cl)];
}
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?