我需要生成一个密码:
- 最小长度:7
- 最大长度:15
- 大写:至少一个字母
- 小写:至少一个字母
- 特殊字符
~! @# $ % ^ * ( ) _ +
?
我使用了休闲库,但无法生成特殊字符。有人可以帮我解决这个问题吗?
var casual = require('casual');
var password = casual.password.substring(10,{
length: 10,
uppercase: true,
lowercase: true,
number: true,
symbols: true,
strict: true
});
最佳答案
应该很容易自己推出:
const lowercaseLetter = () => casual.random_element('ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split(''));
const uppercaseLetter = () => casual.random_element('abcdefghijklmnopqrstuvwxyz'.split(''));
const specialCharacter = () => casual.random_element('~!@#$%^*()_+'.split(''));
const anyCharacter = () => casual.random_element([lowercaseLetter(), uppercaseLetter(), specialCharacter()]);
casual.define('specialPassword', function() {
const length = casual.integer(from = 7, to = 15);
const pw = [lowercaseLetter(), uppercaseLetter(), specialCharacter()];
while (pw.length < length) {
pw.push(anyCharacter());
}
return pw.join('');
});
当然,如果您关心“更安全”的密码,您应该在最后一行打乱 pw
的顺序。
关于javascript - 如何使用休闲库通过 javascript 生成假密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44636691/