使用JavaScript生成随机密码
使用JavaScript可以做很多事,下面是两种生成随机密码的方式:
第一种比较简单:
var m="",i=16; for(;i>=0;i--){ m+=String.fromCharCode(Math.floor(Math.random()*94+33)); } console.log(m);
第二种是我比较喜欢用的:
/** * 生成密码字符串 * 33~47:!~/ * 48~57:0~9 * 58~64::~@ * 65~90:A~Z * 91~96:[~` * 97~122:a~z * 123~127:{~ * @param length 长度 * @param hasNum 是否包含数字 1-包含 0-不包含 * @param hasChar 是否包含字母 1-包含 0-不包含 * @param hasSymbol 是否包含其他符号 1-包含 0-不包含 * @param caseSense 是否大小写敏感 1-敏感 0-不敏感 * @param lowerCase 是否只需要小写,只有当hasChar为0且caseSense为1时起作用 1-全部小写 0-全部大写 */ function genEnCode(length, hasNum, hasChar, hasSymbol, caseSense, lowerCase) { var m = ""; if (hasNum == "0" && hasChar == "0" && hasSymbol == "0") return m; for (var i = length; i >= 0; i--) { var num = Math.floor((Math.random() * 94) + 33); if ( ( (hasNum == "0") && ((num >= 48) && (num <= 57)) ) || ( (hasChar == "0") && (( (num >= 65) && (num <= 90) ) || ( (num >= 97) && (num <= 122) )) ) || ( (hasSymbol == "0") && (( (num >= 33) && (num <= 47) ) || ( (num >= 58) && (num <= 64) ) || ( (num >= 91) && (num <= 96) ) || ( (num >= 123) && (num <= 127) )) ) ) { i++; continue; } m += String.fromCharCode(num); } if(caseSense == "0"){ m = (lowerCase == "0")?m.toUpperCase():m.toLowerCase(); } return m; }