数字或者字母或者数字字母混合的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)
上面就是结果啦!
这个记录下来为了方便以后使用的方便,也希望大佬们多多交流,多多留言,指出我的不足的之处啦!
有需要的小伙伴可以研究研究啦!!
到此这篇关于JavaScript函数封装随机颜色验证码的文章就介绍到这了,更多相关js函数封装颜色验证码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!