數字或者字母或者數字字母混合的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://www.uj5u.com/qianduan/387927.html
標籤:其他
