JavaScript函數(shù)封裝隨機(jī)顏色驗(yàn)證碼(完整代碼)
數(shù)字或者字母或者數(shù)字字母混合的n位驗(yàn)證碼帶隨機(jī)的顏色。下面是完整的代碼,需要的自取哈!
?
function verify(a = 6,b = "num"){
//定義三個(gè)隨機(jī)驗(yàn)證碼驗(yàn)證碼庫
var num ="0123456789"
var str ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNIPQRSTUVWXYZ"
var mixin = num +str;
//定義一個(gè)空字符串用來存放驗(yàn)證碼
var verify=""
if(a == undefined || b == undefined){
//驗(yàn)證輸入是否合法 不通過就拋出一個(gè)異常
throw new Error("參數(shù)異常");
}else{
if(a ==""||b==""){
//判斷用戶是否沒有輸入
throw new Error("參數(shù)非法.");
}else{
//檢測輸入的類型來判斷是否進(jìn)入
var typea = typeof(a);
var typeb = typeof(b);
if(typea =="number" && typeb =="string"){
if(b == "num"){
//定義一個(gè)循環(huán)來接收驗(yàn)證碼 純數(shù)字驗(yàn)證碼
for(var i=0;i<a;i++){
//定義一個(gè)變量來存儲(chǔ)顏色的隨機(jī)值
var r1 = Math.random()*255;
var g1 = Math.random()*255;
var b1 = Math.random()*255;
//確定隨機(jī)索引
var index = Math.floor(Math.random()*(num.length-1))
//確定隨機(jī)的驗(yàn)證碼
var char = num[index];
//給隨機(jī)的驗(yàn)證碼加顏色
verify += `<span style ='color:rgb(${r1},${g1},${b1})'>${char}</span>`
}
//返回到數(shù)組本身
return verify;
}else if(b =="str"){
for(var i=0;i<a;i++){
//純字母的驗(yàn)證碼
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"){
// 混合型的驗(yàn)證碼
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{
//驗(yàn)證沒通過拋出一個(gè)異常
throw new Error("輸入類型非法.")
}
}else{
//驗(yàn)證沒通過拋出一個(gè)異常
throw new Error("輸入類型非法.")
}
}
}
}
?
下面我們來調(diào)用函數(shù)試試看
//第一個(gè)值為用戶輸入的長度,第二個(gè)為類型!
var arr = verify(8,"mixin");
document.write(arr)

?上面就是結(jié)果啦!
這個(gè)記錄下來為了方便以后使用的方便,也希望大佬們多多交流,多多留言,指出我的不足的之處啦!
有需要的小伙伴可以研究研究啦?。?/p>
到此這篇關(guān)于JavaScript函數(shù)封裝隨機(jī)顏色驗(yàn)證碼的文章就介紹到這了,更多相關(guān)js函數(shù)封裝顏色驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
兩個(gè)listbox實(shí)現(xiàn)選項(xiàng)的添加刪除和搜索
listbox竟然可以實(shí)現(xiàn)選項(xiàng)的添加刪除和搜索不可思議吧,至于采用什么樣的方法實(shí)現(xiàn)的,具體代碼祥看本文嘍,或許可以幫助到你2013-03-03
javascript insertAfter()定義與用法示例
這篇文章主要介紹了javascript insertAfter()定義與用法,實(shí)例分析了javascript節(jié)點(diǎn)后插入元素的實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2016-07-07
JavaScript實(shí)現(xiàn)的字符串replaceAll函數(shù)代碼分享
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的字符串replaceAll函數(shù)代碼分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-04-04
JavaScript實(shí)現(xiàn)九宮格拖拽效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)九宮格拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06

