一个强大的、可定制的、多语言的密码强度计/可见性切换jQuery插件,旨在提高网站和应用程序的安全性。根据BSD 3条款许可证发布
当用户在密码字段中键入密码时,此插件会为用户提供关于其密码强度的实时反馈(密码分数栏)。这可以帮助用户选择更强大的密码,这些密码不太容易受到黑客攻击。
此外,该插件还提供了一个可见性切换,允许用户显示或隐藏密码字符串,这对于那些可能担心隐私和安全的用户,或者只想再次检查是否正确输入密码的用户来说是一个有用的功能。
1.下载并加载强度计插件的文件。
- <link href="/path/to/css/strength-meter.css" rel="stylesheet"/>
- <script src="/path/to/cdn/jquery.min.js"></script>
- <script src="/path/to/strength-meter.js"></script>
2.在网页中添加一个本地JS。可选。
- <script src="/path/to/strength-meter-de.js"></script>
- <script src="/path/to/strength-meter-es.js"></script>
- <script src="/path/to/strength-meter-fr.js"></script>
- <script src="/path/to/strength-meter-hu.js"></script>
- <script src="/path/to/strength-meter-it.js"></script>
- <script src="/path/to/strength-meter-nl.js"></script>
- <script src="/path/to/strength-meter-pl.js"></script>
- <script src="/path/to/strength-meter-pt-BR.js"></script>
- <script src="/path/to/strength-meter-ru.js"></script>
- <script src="/path/to/strength-meter-sr.js"></script>
- <script src="/path/to/strength-meter-zh-CN.js"></script>
3.在文档中加载Bootstrap的样式表。可选,但建议使用。
- <link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />
4.将CSS类“strength”添加到密码字段中,插件将处理其余内容。
- <input id="example" type="password" class="strength" />
5.或者通过JavaScript初始化插件。
- $("#yourPassField").strength({
- // options here
- });
6.覆盖默认选项以自定义插件。
- $("#yourPassField").strength({
- // language
- language: 'en',
- // shows password strength meter
- showMeter: true,
- // shows password visibility toggle
- toggleMask: true,
- // custom template
- 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>',
- inputNoToggleTemplate: '{input}',
- meterTemplate: '<div class="kv-scorebar-border">{scorebar}\n{score}</div>\n{verdict}',
- mainTemplate: '<table class="kv-strength-container"><tr>\n<td>{input}</td>\n<td class="kv-meter-container">{meter}</td>\n</tr></table>',
- // default CSS classes
- meterClass: 'kv-meter',
- scoreBarClass: 'kv-scorebar',
- scoreClass: 'kv-score',
- verdictClass: 'kv-verdict',
- containerClass: 'kv-password',
- inputClass: 'form-control',
- toggleClass: 'kv-toggle',
- verdictClasses: {
- 0: 'label label-default badge-secondary',
- 1: 'label label-danger badge-danger',
- 2: 'label label-warning badge-warning',
- 3: 'label label-info badge-info',
- 4: 'label label-primary badge-primary',
- 5: 'label label-success badge-success'
- },
- // customize the strength calculation algorithm here
- rules: {
- minLength: 2,
- midChar: 2,
- consecAlphaUC: 2,
- consecAlphaLC: 2,
- consecNumber: 2,
- seqAlpha: 3,
- seqNumber: 3,
- seqSymbol: 3,
- length: 4,
- number: 4,
- symbol: 6
- }
- });
7.API方法。
- // refresh
- $("#yourPassField").strength('refresh');
- // reset
- $("#yourPassField").strength('reset');
- // return the current strength score:
- $("#yourPassField").strength('score');
- // return the current strength verdict:
- $("#yourPassField").strength('verdict');
8.事件处理程序。
- $("#yourPassField").on('strength:change', function(event) {
- console.log("strength:change");
- });
- $("#yourPassField").on('strength:reset', function(event) {
- console.log("strength:reset");
- });
- $("#yourPassField").on('strength:toggle', function(event) {
- console.log("strength:toggle");
- });