Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save kawamurayuto/9e0e69bbca1b35a4425386fbb49ccea0 to your computer and use it in GitHub Desktop.

Select an option

Save kawamurayuto/9e0e69bbca1b35a4425386fbb49ccea0 to your computer and use it in GitHub Desktop.
パスワードを生成してクリップボードにコピーするブックマークレット
javascript:(function(){for(var a,b="0".charCodeAt(),c="z".charCodeAt(),d="",e=0;10>e;e+=1)d+=String.fromCharCode(b+(Math.random()*(c-b)|0));a=d;var f=document.createElement("span");f.style.opacity=0;f.textContent=a;document.body.appendChild(f);var g=document.createRange();g.selectNode(f);getSelection().removeAllRanges();getSelection().addRange(g);document.execCommand("copy");document.body.removeChild(f);
alert("\u4ee5\u4e0b\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\u3002\n\n"+a);})()
@kawamurayuto
Copy link
Author

kawamurayuto commented Mar 7, 2018

中身はこんな感じ。

var password = generatePassword();
var elem = document.createElement('span');
elem.style.opacity = 0;
elem.textContent = password;
document.body.appendChild(elem);

var range = document.createRange();
range.selectNode(elem);
getSelection().removeAllRanges();
getSelection().addRange(range);

document.execCommand('copy');
document.body.removeChild(elem);

alert('以下のパスワードをクリップボードにコピーしました。\n\n' + password);

function generatePassword() {
  var first = "0".charCodeAt();
  var last = "z".charCodeAt();
  var password = "";
  
  for (var i = 0, max = 10; i < max; i += 1) {
    var code = first + (Math.random() * (last - first) | 0);
    password += String.fromCharCode(code);
  }

  return password;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment