验证“密码强度”的例子很常见,我们注册新的账号的时候往往设置密码,此时就遇到验证密码强度的问题了。“密码强度”也就是密码难易程度的意思。
原理:
1、如果输入的密码为单纯的数字或者字母:提示“低”
2、如果是数字和字母混合的:提示“中”
3、如果数字、字母、特殊字符都有:提示“强”
下面是一种“密码强度”的验证方法,觉得很有意思。
HTML和CSS代码:
<!DOCTYPE HTML> <html > <!-- lang="en" --> <head> <meta charset="utf-8" /> <title>密码强度</title> <style type="text/css"> #pwdStrength { height: 30px; width: 180px; border: 1px solid #ccc; padding: 2px; } .strengthLv1 { background: red; height: 30px; width: 60px; } .strengthLv2 { background: orange; height: 30px; width: 120px; } .strengthLv3 { background: green; height: 30px; width: 180px; } #pwd { height:30px; font-size :20px; } strong { margin-left:90px; } #pwd1 { color:red; margin-top:5px; margin-bottom:5px; } </style> </head> <body> <input type="password" name="pwd" id="pwd" maxlength="16" /> <div class="pass-wrap"> <!--<em>密码强度:</em>--> <p id="pwd1" name="pwd">密码强度:</p> <div id="pwdStrength"></div> </div> </body> </html>
javascript代码:
<script type="text/javascript"> function PasswordStrength(passwordID, strengthID) { this.init(strengthID); var _this = this; document.getElementById(passwordID).onkeyup = function () {//onkeyup 事件,在键盘按键被松开时发生,进行判断 _this.checkStrength(this.value); } }; PasswordStrength.prototype.init = function (strengthID) { var id = document.getElementById(strengthID); var div = document.createElement('div'); var strong = document.createElement('strong'); this.oStrength = id.appendChild(div); this.oStrengthTxt = id.parentNode.appendChild(strong); }; PasswordStrength.prototype.checkStrength = function (val) { //验证密码强度的函数 var aLvTxt = ['', '低', '中', '高'];//定义提示消息的种类 var lv = 0; //初始化提示消息为空 if (val.match(/[a-z]/g)) { lv++; } //验证是否包含字母 if (val.match(/[0-9]/g)) { lv++; } // 验证是否包含数字 if (val.match(/(.[^a-z0-9])/g)) { lv++; } //验证是否包含字母,数字,字符 if (val.length < 6) { lv = 0; } //如果密码长度小于6位,提示消息为空 if (lv > 3) { lv = 3; } this.oStrength.className = 'strengthLv' + lv; this.oStrengthTxt.innerHTML = aLvTxt[lv]; }; new PasswordStrength('pwd','pwdStrength'); </script>
效果图:
小结:
1.利用onkeyup 事件(在键盘按键被松开时发生)进行三种判断,简单方便。
2. 正则表达式的功能真的很强大。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】
- 陈思安.1990-国语钢琴酒吧5CD【欣代唱片】【WAV+CUE】
- 莫文蔚《莫后年代20周年世纪典藏》3CD[WAV+CUE][2G]
- 张惠妹《我要快乐》华纳[WAV+CUE][1G]
- 罗大佑1982《之乎者也》无法盗版的青春套装版 [WAV+CUE][1G]
- 曾庆瑜1989-款款柔情[日本东芝版][WAV+CUE]
- Scelsi-IntegraledesquatuorsacordesetTrioacordes-QuatuorMolinari(2024)[24bit-WAV]