密码强度计和可见性切换插件 jQuery强度计

  • 源码大小:51.87KB
  • 所需积分:1积分
  • 源码编号:19JP-3159
  • 浏览次数:730次
  • 最后更新:2023年05月12日
  • 所属栏目:表单
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

一个强大的、可定制的、多语言的密码强度计/可见性切换jQuery插件,旨在提高网站和应用程序的安全性。根据BSD 3条款许可证发布

当用户在密码字段中键入密码时,此插件会为用户提供关于其密码强度的实时反馈(密码分数栏)。这可以帮助用户选择更强大的密码,这些密码不太容易受到黑客攻击。

此外,该插件还提供了一个可见性切换,允许用户显示或隐藏密码字符串,这对于那些可能担心隐私和安全的用户,或者只想再次检查是否正确输入密码的用户来说是一个有用的功能。

参见:

  • JavaScript中的10个最佳密码强度复选框

如何使用它:

1.下载并加载强度计插件的文件。

  1. <link href="/path/to/css/strength-meter.css" rel="stylesheet"/>
  2. <script src="/path/to/cdn/jquery.min.js"></script>
  3. <script src="/path/to/strength-meter.js"></script>

2.在网页中添加一个本地JS。可选。

  1. <script src="/path/to/strength-meter-de.js"></script>
  2. <script src="/path/to/strength-meter-es.js"></script>
  3. <script src="/path/to/strength-meter-fr.js"></script>
  4. <script src="/path/to/strength-meter-hu.js"></script>
  5. <script src="/path/to/strength-meter-it.js"></script>
  6. <script src="/path/to/strength-meter-nl.js"></script>
  7. <script src="/path/to/strength-meter-pl.js"></script>
  8. <script src="/path/to/strength-meter-pt-BR.js"></script>
  9. <script src="/path/to/strength-meter-ru.js"></script>
  10. <script src="/path/to/strength-meter-sr.js"></script>
  11. <script src="/path/to/strength-meter-zh-CN.js"></script>

3.在文档中加载Bootstrap的样式表。可选,但建议使用。

  1. <link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />

4.将CSS类“strength”添加到密码字段中,插件将处理其余内容。

  1. <input id="example" type="password" class="strength" />

5.或者通过JavaScript初始化插件。

  1. $("#yourPassField").strength({
  2. // options here
  3. });

6.覆盖默认选项以自定义插件。

  1. $("#yourPassField").strength({
  2.  
  3. // language
  4. language: 'en',
  5.  
  6. // shows password strength meter
  7. showMeter: true,
  8.  
  9. // shows password visibility toggle
  10. toggleMask: true,
  11.  
  12. // custom template
  13. inputTemplate: '<div class="input-group">\n{input}\n<span class="input-group-addon input-group-append"><span class="input-group-text">{toggle}</span></span>\n</div>',
  14. inputNoToggleTemplate: '{input}',
  15. meterTemplate: '<div class="kv-scorebar-border">{scorebar}\n{score}</div>\n{verdict}',
  16. mainTemplate: '<table class="kv-strength-container"><tr>\n<td>{input}</td>\n<td class="kv-meter-container">{meter}</td>\n</tr></table>',
  17.  
  18. // default CSS classes
  19. meterClass: 'kv-meter',
  20. scoreBarClass: 'kv-scorebar',
  21. scoreClass: 'kv-score',
  22. verdictClass: 'kv-verdict',
  23. containerClass: 'kv-password',
  24. inputClass: 'form-control',
  25. toggleClass: 'kv-toggle',
  26. verdictClasses: {
  27. 0: 'label label-default badge-secondary',
  28. 1: 'label label-danger badge-danger',
  29. 2: 'label label-warning badge-warning',
  30. 3: 'label label-info badge-info',
  31. 4: 'label label-primary badge-primary',
  32. 5: 'label label-success badge-success'
  33. },
  34.  
  35. // customize the strength calculation algorithm here
  36. rules: {
  37. minLength: 2,
  38. midChar: 2,
  39. consecAlphaUC: 2,
  40. consecAlphaLC: 2,
  41. consecNumber: 2,
  42. seqAlpha: 3,
  43. seqNumber: 3,
  44. seqSymbol: 3,
  45. length: 4,
  46. number: 4,
  47. symbol: 6
  48. }
  49. });

7.API方法。

  1. // refresh
  2. $("#yourPassField").strength('refresh');
  3.  
  4. // reset
  5. $("#yourPassField").strength('reset');
  6.  
  7. // return the current strength score:
  8. $("#yourPassField").strength('score');
  9.  
  10. // return the current strength verdict:
  11. $("#yourPassField").strength('verdict');

8.事件处理程序。

  1. $("#yourPassField").on('strength:change', function(event) {
  2. console.log("strength:change");
  3. });
  4.  
  5. $("#yourPassField").on('strength:reset', function(event) {
  6. console.log("strength:reset");
  7. });
  8.  
  9. $("#yourPassField").on('strength:toggle', function(event) {
  10. console.log("strength:toggle");
  11. });

预览截图