2

おはようございます、

私はこのコードを持っています(ほんの一例):

function random(min, max) {
    return min + parseInt(Math.random() * (max - min + 1));
}
function generatePassword(length, charset) {
    var password = "";
    while (length--) {
        password += charset[random(0, charset.length - 1)];
    }
    return password;
}
function getNewPassword() {
    $('#password').text(generatePassword(12, "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!?#@*&.,;:+-=()[]_"));
}

生成されたパスワードの長さを設定できる入力フィールドを HTML に追加したいと考えています。

私と一緒に解決策を見つけてください。:-)

http://jsfiddle.net/RnsTq/

4

6 に答える 6

3

use12の呼び出しの代わりに、 whereは入力要素の ID になります。generatePasswordparseInt($('#len').val(), 10)len

于 2013-08-25T12:14:52.700 に答える
2

そこにあります:http://jsbin.com/odosoy/94/edit

Javascript

$(document).ready(function() {
  $("#generate").click(function() {
    getNewPassword();
  });

  function random(min, max) {
    return min + parseInt(Math.random() * (max - min + 1), 10);
  }
  function generatePassword(charset) {
    var length = parseInt($("#passlength").val(), 10);
    var password = "";
    while (length--) {
      password += charset[random(0, charset.length - 1)];
    }
    return password;
  }
  function getNewPassword() {
    var pass = generatePassword("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!?#@*&.,;:+-=()[]_");
    $('#password').val(pass);
  }
});

HTML

Length: <input id="passlength"/><br>
Password: <input id="password"/><br>
<button class="btn btn-info" id="generate">Generate Password</button>

アップデート

最初の例を少し作り直してスタイルを整えただけで、特別なことは何もありません。 http://jsbin.com/odosoy/97/editおよびパスワードが置き換えられたもの: http://jsbin.com/odosoy/125/edit

それが役に立てば幸い。

于 2013-08-25T12:13:28.593 に答える
1

これを見てください:

function gen_random(len){
    var charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    var tempChar = charset.split('');
    for (var i = 0; i < len; ++i) {
        password += tempChar[Math.floor(Math.random() * (26+26+10)) + 1];           
    }
    return password;    
}
于 2013-08-25T12:18:12.740 に答える
1

パスワードを生成する前に、新しいテキスト フィールドを追加してその値を取得してみてください。

var passwordLength = $('#maxLength').val(); $('#password').val(generatePassword(passwordLength, "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!?#@*&.,;:+-=()[]_"));

ここでクイック&ダーティフィドルを見ることができます:http://jsfiddle.net/nininho/pG5A7/1/

于 2013-08-25T12:21:07.613 に答える
0

JS でパスワードを生成する最良の方法は、https://github.com/bermi/password-generatorなどの lib を使用することです。

これにより、覚えやすいカスタマイズ可能な長さのパスワードが生成されます。

提供されたリンクにはいくつかの例もあります。

于 2013-08-25T12:10:24.057 に答える