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)

 上面就是結果啦!

這個記錄下來為瞭方便以後使用的方便,也希望大佬們多多交流,多多留言,指出我的不足的之處啦!

有需要的小夥伴可以研究研究啦!!

到此這篇關於JavaScript函數封裝隨機顏色驗證碼的文章就介紹到這瞭,更多相關js函數封裝顏色驗證碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: