本文实例为大家分享了js实现密码输入强度验证的具体代码,供大家参考,具体内容如下
需求:
1.需要对用户输入的密码进行验证,验证的级别分为强中弱,如果输入的密码强度少于6时,则不会验证,只有密码强度在6-20时才会进行验证。
相关的正则
//密码为八位及以上并且字母数字特殊字符三项都包括 var strongRegex = new RegExp("^(", "g"); //密码为七位及以上并且字母、数字、特殊字符三项中有两项,强度是中等 var mediumRegex = new RegExp("^(", "g"); var enoughRegex = new RegExp("(", "g");
2.密码的显示与隐藏,点击小眼可以对密码进行显示或者隐藏。
具体代码
html部分:
<div class="wrapper"> <div class="input_box"> <input type="password" name="" placeholder="请输入密码" oninput="passValidate(this)" id="inputPwd" value=""> <div class="eye_icon"></div> </div> <p>请至少使用字母、数字、符号两种类型组合的密码,长度为6~20位。</p> <ul class="pwdStrength"> <li class="weak"></li> <li class="middle"></li> <li class="strong"></li> <li class="result"></li> </ul> </div>
css部分:
* { margin: 0; padding: 0; box-sizing: border-box; } .wrapper { width: 500px; height: 200px; border: 1px solid #eee; margin: 100px auto; display: flex; align-items: center; flex-direction: column; } .input_box{ width: 80%; display: flex; align-items: center; } .input_box input { width: 82%; height: 30px; border: none; outline: none; border: 1px solid #D2B48C; border-radius: 12px; margin: 10px 0px; padding-left: 15px; } .eye_icon{ width: 20px; height: 20px; background-image: url('./open_eye.png'); background-repeat: no-repeat; background-position: center content; background-size: cover; margin-left: 10px; } .wrapper p { width: 80%; height: 60px; line-height: 26px; font-size: 14px; color: #339999; } .pwdStrength { width: 80%; list-style: none; height: 30px; display: none; flex: 1; } .weak, .middle, .strong { height: 15px; width: 30px; border: 1px solid black; background: rgb(238, 238, 238); } .middle { border-left: 0; border-right: 0; } .result { width: 30px; height: 15px; font-size: 14px; line-height: 14px; text-align: center; margin-left: 10px; }
JS部分:
//密码的可见与隐藏、 console.log($('#inputPwd')) var eyeFlag = false; $('.eye_icon').click(function(){ if(!eyeFlag){ $(this).css({'background-image': 'url(' + "./close_eye.png" + ')'}); $('#inputPwd').attr('type','text'); }else{ $(this).css({'background-image': 'url(' + "./open_eye.png" + ')'}); $('#inputPwd').attr('type','password') } eyeFlag = !eyeFlag; }) //密码强度验证 function passValidate(e) { var pwd = $.trim(e.value); if (pwd === '') { $('.pwdStrength').css({'display':'none'}) $('.weak').css({ 'background': 'rgb(238, 238, 238)' }); $('.middle').css({ 'background': 'rgb(238, 238, 238)' }); $('.strong').css({ 'background': 'rgb(238, 238, 238)' }); $('.result').text('') } else { $('.pwdStrength').css({'display':'flex'}) //密码为八位及以上并且字母数字特殊字符三项都包括 var strongRegex = new RegExp("^(", "g"); //密码为七位及以上并且字母、数字、特殊字符三项中有两项,强度是中等 var mediumRegex = new RegExp("^(", "g"); var enoughRegex = new RegExp("(", "g"); if (false == enoughRegex.test(pwd)) { } else if (strongRegex.test(pwd)) { $('.strong').css({ 'background': '#33ff33' }); $('.result').text('强') } else if (mediumRegex.test(pwd)) { $('.middle').css({ 'background': '#FFC125' }); $('.strong').css({ 'background': 'rgb(238, 238, 238)' }); $('.result').text('中') } else { $('.weak').css({ 'background': '#EE4000' }); $('.middle').css({ 'background': 'rgb(238, 238, 238)' }); $('.strong').css({ 'background': 'rgb(238, 238, 238)' }); $('.result').text('弱') } } }
效果
密码强度为弱
密码强度为中:
密码强度为强
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]