早上好,
我有这段代码(只是一个例子):
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中添加一个输入字段,我可以在其中设置生成密码的长度。
你能找到我的解决方案吗? : - )
答案 0 :(得分:3)
而不是调用12
中的generatePassword
使用parseInt($('#len').val(), 10)
,而len
将是输入元素的ID。
答案 1 :(得分:2)
你有它:http://jsbin.com/odosoy/94/edit
$(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);
}
});
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
希望它有所帮助。
答案 2 :(得分: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;
}
答案 3 :(得分:1)
在生成密码之前,尝试添加新的文本字段并获取其值。
var passwordLength = $('#maxLength').val();
$('#password').val(generatePassword(passwordLength, "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!?#@*&.,;:+-=()[]_"));
你可以看到一个快速的&amp;脏兮兮的小提琴:http://jsfiddle.net/nininho/pG5A7/1/
答案 4 :(得分:0)
尝试这样的事情: -
Math.random().toString(36).substring(7);
答案 5 :(得分:0)
在JS中生成密码的最佳方法是使用诸如https://github.com/bermi/password-generator
之类的库这将为您生成一个可自定义长度的密码,甚至可以令人难忘。
在提供的链接上还有几个例子。