JavaScript函数封装随机颜色验证码
数字或者字母或者数字字母混合的n位验证码带随机的颜色。下面是完整的代码,需要的自取哈!
function verify(a = 6,b = "num"){
//定义三个随机验证码验证码库
var num ="0123456789"
var str ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNIPQRSTUVWXYZ"
var mixin = num +str;
//定义一个空字符串用来存放验证码
var verify=""
if(a == undefined || b == undefined){
//验证输入是否合法 不通过就抛出一个异常
throw new Error("参数异常");
}else{
if(a ==""||b==""){
//判断用户是否没有输入
throw new Error("参数非法.");
}else{
//检测输入的类型来判断是否进入
var typea = typeof(a);
var typeb = typeof(b);
if(typea =="number" && typeb =="string"){
if(b == "num"){
//定义一个循环来接收验证码 纯数字验证码
for(var i=0;i<a;i++){
//定义一个变量来存储颜色的随机值
var r1 = Math.random()*255;
var g1 = Math.random()*255;
var b1 = Math.random()*255;
//确定随机索引
var index = Math.floor(Math.random()*(num.length-1))
//确定随机的验证码
var char = num[index];
//给随机的验证码加颜色
verify += `<span style ='color:rgb(${r1},${g1},${b1})'>${char}</span>`
}
//返回到数组本身
return verify;
}else if(b =="str"){
for(var i=0;i<a;i++){
//纯字母的验证码
var r1 = Math.random()*255;
var g1 = Math.random()*255;
var b1 = Math.random()*255;
var index = Math.floor(Math.random()*(str.length-1));
var char = str[index];
verify += `<span style ='color:rgb(${r1},${g1},${b1})'>${char}</span>`
}
return verify;
}else if(b == "mixin"){
// 混合型的验证码
for(var i=0;i<a;i++){
var r1 = Math.random()*255;
var g1 = Math.random()*255;
var b1 = Math.random()*255;
var index = Math.floor(Math.random()*(mixin.length-1));
var char = mixin[index];
verify += `<span style ='color:rgb(${r1},${g1},${b1})'>${char}</span>`
}
return verify;
}else{
//验证没通过抛出一个异常
throw new Error("输入类型非法.")
}
}else{
//验证没通过抛出一个异常
throw new Error("输入类型非法.")
}
}
}
}
下面我们来调用函数试试看
//第一个值为用户输入的长度,第二个为类型!
var arr = verify(8,"mixin");
document.write(arr)
上面就是结果啦!
这个记录下来为了方便以后使用的方便,也希望大佬们多多交流,多多留言,指出我的不足的之处啦!
有需要的小伙伴可以研究研究啦!!
————————————————
作者:土豆切成丝
来源:https://blog.csdn.net/A20201130/article/details/122030872