溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中如何實現(xiàn)函數(shù)封裝隨機顏色驗證碼

發(fā)布時間:2021-12-21 17:07:53 來源:億速云 閱讀:300 作者:小新 欄目:開發(fā)技術

小編給大家分享一下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ù)封裝隨機顏色驗證碼

 上面就是結果啦!

以上是“JavaScript中如何實現(xiàn)函數(shù)封裝隨機顏色驗證碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI