郑许地铁

pwdValueDate.js 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //显示颜色
  2. function pwStrength(pwd) {
  3. O_color = "#eeeeee";
  4. L_color = "#ffd8b4";
  5. M_color = "#ffaf56";
  6. H_color = "#e85959";
  7. if (pwd == null || pwd == '') {
  8. Lcolor = Mcolor = Hcolor = O_color;
  9. } else {
  10. S_level = checkStrong(pwd);
  11. switch (S_level) {
  12. case 0:
  13. Lcolor = Mcolor = Hcolor = O_color;
  14. case 1:
  15. Lcolor = L_color;
  16. Mcolor = Hcolor = O_color;
  17. break;
  18. case 2:
  19. Lcolor = L_color;
  20. Mcolor = M_color;
  21. Hcolor = O_color;
  22. break;
  23. default:
  24. Lcolor = L_color;
  25. Mcolor = M_color;
  26. Hcolor = H_color;
  27. }
  28. }
  29. $("#strength_L").css('background-color', Lcolor);
  30. $("#strength_M").css('background-color', Mcolor);
  31. $("#strength_H").css('background-color', Hcolor);
  32. return;
  33. }
  34. //判断输入密码的类型
  35. function CharMode(iN) {
  36. if (iN >= 48 && iN <= 57) //数字
  37. return 1;
  38. if (iN >= 65 && iN <= 90) //大写
  39. return 2;
  40. if (iN >= 97 && iN <= 122) //小写
  41. return 4;
  42. else return 8;
  43. }
  44. //bitTotal函数
  45. //计算密码模式
  46. function bitTotal(num) {
  47. modes = 0;
  48. for (i = 0; i < 4; i++) {
  49. if (num & 1) modes++;
  50. num >>>= 1;
  51. }
  52. return modes;
  53. }
  54. //返回强度级别
  55. function checkStrong(sPW) {
  56. if (sPW.length <= 4) return 0; //密码太短
  57. Modes = 0;
  58. for (i = 0; i < sPW.length; i++) {
  59. //密码模式
  60. Modes |= CharMode(sPW.charCodeAt(i));
  61. }
  62. return bitTotal(Modes);
  63. }