中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

使用JavaScript怎么實現一個密碼強度驗證功能

發布時間:2021-04-16 17:01:16 來源:億速云 閱讀:171 作者:Leah 欄目:web開發

這篇文章給大家介紹使用JavaScript怎么實現一個密碼強度驗證功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

思路:

1.密碼通常是由數字,大寫字母,小寫字母以及特殊字符組成
2.密碼全部是純數字或者純大寫字母,或者純小寫字母,我們認為是密碼強度較低
3.密碼由兩種混合,我們認為密碼強度是中等的
4.密碼由三種或者四種混合,我們認為這樣的密碼組合強度很強
5.通過判斷輸入的密碼每個字符,如果是數字返回1;如果是大寫字母,返回2;如果是小寫字母,返回4;如果是特殊字符,則返回8(至于為什么選擇返返回這些數字請看第六條);
6.初始化一個體現密碼強度的變量為0,在二進制下表示也就是0000,將他與我們的返回值進行二進制相或運算
7.比如初始值0000
與數字的返回值1(0001)相或運算,等于0001;
與一個小寫字母和大寫字母組成的密碼相或就是0110;
與大寫字母,小寫字母,數字組成的密碼相或就是0111;
與大寫字母,小寫字母,數字,特殊字符的密碼相或就是1111;
8.將相或結果賦值給這個初始值,通過判斷這個值在二進制下有多少個1,就能判斷對應密碼強度(用0001與這個值做相并計算,同時做無符號右移運算,即可獲得1的個數)

以上就是我們的思路,那么我們就可以開始書寫我們的代碼

①創建一個函數,判斷輸入值的每一個字符由什么組成的

function charMode(char){
 switch (true) {
  case (char>=48&&char<=57):
   return 1;
   break;
  case (char>=65&&char<=90):
   return 2;
   break;
   case (char>=97&&char<=122):
   return 4;
   break;

  default:
   return 8;
   break;
 } 
}

這里也可以用if else 來做判斷,只是沒有switch看起來這么爽,同時這里注意,switch()括號里傳入的不是輸入值,而是一個true;因為case后面返回的是一個布爾值,判斷的是布爾值之間是否相等(switch做全等比較,不進行類型轉換)

②創建一個函數,用于判斷整個輸入串的密碼強度類型

function checkPsw(password){
 strengh=0;//定義一個全局變量用于檢測密碼強度
  for(var i=0;i<password.length;i++){   strengh|=charMode(password.charCodeAt(i));
 }
}

這里 |= 的意思是做相或運算,并賦值

③創建一個函數,計算密碼強度

function charStrengh(strengh){
 var reference=0;
 for(var i=0;i<4;i++){
  if(strengh&1){
   reference++;
  }
  strengh>>>=1;//無符號右移一位繼續匹配
 }
 return reference;
}

關于使用JavaScript怎么實現一個密碼強度驗證功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

紫云| 开化县| 邢台县| 金溪县| 商洛市| 阜城县| 休宁县| 饶河县| 佛教| 兴海县| 浙江省| 乌什县| 防城港市| 凌海市| 北海市| 永清县| 金门县| 镇安县| 柯坪县| 侯马市| 东山县| 蓬莱市| 花垣县| 台中县| 汽车| 杭锦后旗| 卓资县| 和平区| 碌曲县| 九龙县| 渑池县| 右玉县| 尼勒克县| 安岳县| 瑞丽市| 濮阳县| 巴彦淖尔市| 巴楚县| 万载县| 固阳县| 金昌市|