一个强大的、可定制的、多语言的密码强度计/可见性切换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");
});