您好,登錄后才能下訂單哦!
小編給大家分享一下JavaScript中如何實現(xiàn)函數(shù)封裝隨機顏色驗證碼,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
數(shù)字或者字母或者數(shù)字字母混合的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("參數(shù)異常"); }else{ if(a ==""||b==""){ //判斷用戶是否沒有輸入 throw new Error("參數(shù)非法."); }else{ //檢測輸入的類型來判斷是否進入 var typea = typeof(a); var typeb = typeof(b); if(typea =="number" && typeb =="string"){ if(b == "num"){ //定義一個循環(huán)來接收驗證碼 純數(shù)字驗證碼 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>` } //返回到數(shù)組本身 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("輸入類型非法.") } } } }
下面我們來調(diào)用函數(shù)試試看
//第一個值為用戶輸入的長度,第二個為類型! var arr = verify(8,"mixin"); document.write(arr)
上面就是結果啦!
以上是“JavaScript中如何實現(xiàn)函數(shù)封裝隨機顏色驗證碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。