jquery脚本检测密码强度

jquery脚本检测密码强度

在表单功能中,经常会有检测用户输入的密码强度的功能,下面这个代码片段使用正则表达式来检测密码是否足够安全,当然记得在服务端也进行表单验证。

基本原理都是:使用js触发text表单输入元素的keyup事件,根据输入字符的长度以及类型数量(比如数字,小写字母,大写字母,特殊字符等)动态修改提示元素的样式和文本。

实现代码:

  •  
  • JScript 代码   复制
  • 
    $('#pass').keyup(function(e) {
    
         var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
    
         var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
    
         var enoughRegex = new RegExp("(?=.{6,}).*", "g");
    
         if (false == enoughRegex.test($(this).val())) {
    
                 $('#passstrength').html('More Characters');
    
         } else if (strongRegex.test($(this).val())) {
    
                 $('#passstrength').className = 'ok';
    
                 $('#passstrength').html('Strong!');
    
         } else if (mediumRegex.test($(this).val())) {
    
                 $('#passstrength').className = 'alert';
    
                 $('#passstrength').html('Medium!');
    
         } else {
    
                 $('#passstrength').className = 'error';
    
                 $('#passstrength').html('Weak!');
    
         }
    
         return true;
    
    });