做的最好的微电影网站,单屏风格wordpress主题,源码论坛网搭建,绍兴专门做网站在项目中经常有生成随机字符串的需求#xff0c;比如验证接口签名、验证码(Node.js发送短信或邮箱验证码、生成图片验证码)#xff0c;我们可以使用Javascript生成随机字符。 使用随机数从给出的可能字符中抽取合并字符串
优点是可以自定义结果中字符的取值#xff0c;比如… 在项目中经常有生成随机字符串的需求比如验证接口签名、验证码(Node.js发送短信或邮箱验证码、生成图片验证码)我们可以使用Javascript生成随机字符。 使用随机数从给出的可能字符中抽取合并字符串
优点是可以自定义结果中字符的取值比如添加下划线等特殊字符、剔除大小写字母O、L等容易与数字0和1难以区分的字符。
包含数字和大小写字母
// 获取指定长度的随机字符串(包含数字和大小写字母)
function getRandomString(length) {var len length || 6var chars 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZvar result for (var i 0; i len; i) {var index Math.floor(Math.random() * chars.length)result chars[index]}return result
}// test
getRandomString()
// BDbP17
// gCoGYX
// OFmkBIgetRandomString(10)
// eTpDQ1tyCj
上面的代码中getRandomString方法接收一个 length 可选参数默认为 6执行该方法将返回随机字符如需其他长度的字符串只需要调用该方法时传入长度即可。
只包含数字的字符串
// 获取指定长度的数字字符串(常用于短信验证码)
function getRandomNumberString(length) {var len length || 6var chars 0123456789var result for (var i 0; i len; i) {var index Math.floor(Math.random() * chars.length)result chars[index]}return result
}// test
getRandomNumberString()
// 940377
// 366477
// 766066
随机十六进制字符串
// 随机十六进制字符串
// 此方法由于随机数位数有限最大长度为13偶尔结果字符串长度只有12自行按需补位
function getRandomHexString(length) {var len length || 6if (len 13) {throw new Error(getRandomHexString(length) length 不能大于13)}return Math.random().toString(16).substring(2, 2 len)
}// test
getRandomHexString()
// e97a45
以上三个方法即可涵盖大部分验证码需求主要是node.js做服务千万不要在前端生成验证码然后用 canvas 等方式绘制验证码