js里面经常会用一些随机数来做验证码,随机颜色等等,分享一些简单好用的小例子;
用jqyery的写法会更简单,这里用原生的方法写,道理一样,直接用就行
function Random (){
var random=parseInt(Math.random()*Math.pow(32,4));
//随机一个32的4次幂然后取整
var v=('00000'+random.toString(16)).substr(-4);
//random返回一个位数不确定的整数,然后toString(16)转化成16进制,
//如果这个随机数位数不够四位的话前边拼接5个0,最后截取后四位
console.log(v)
return v
}
Random ()
这个方法比较好用,而且代码也比较优雅
感觉比那些for循环拼接来的随机验证码好多了
随机颜色
随机颜色的话我比较喜欢用RGBA来表示
一是代码少,简单好实现;
二是可以支持透明度,透明度也可以支持随机颜色。
这个例子里用的es6的方法:
function RandomColor () {
const r = Math.round(Math.random()*255);
const g = Math.round(Math.random()*255);
const b = Math.round(Math.random()*255);
const a = ( (Math.random()*5 + 5) / 10 ).toFixed(2)
//随机颜色返回的是一个0.5到1 的两位小数;
const color = `rgba(${r},${g},${b},${a})`
console.log(color)
return color
}
RandomColor ()
打印出的结果差不多就这样: