zoukankan      html  css  js  c++  java
  • js前端 c#后端密码验证策略-大小写特殊字符长度

         //包含小写字母
            private static readonly string REG_CONTAIN_LOWERCASE_ASSERTION = @"(?=.*[a-z])";
    
            //包含大写字母
            private static readonly string REG_CONTAIN_UPPERCASE_ASSERTION = @"(?=.*[A-Z])";
    
            //包含数字
            private static readonly string REG_CONTAIN_DIGIT_ASSERTION = @"(?=.*d)";
    
            //包含特殊字符
            private static readonly string REG_CONTAIN_SPECIAL_CHAR_ASSERTION = @"(?=.*[ !""#$%&'()*+,-./:;<=>?@[]^_`{|}~])";
    
            public bool ValidatePwd(string pattern, string input)
            {
                Regex regex = new Regex(pattern);
                return regex.IsMatch(input);
            }
    
       public void Login(loginInfo obj)
      {
    
             if (obj.UserPwd.Length < 10)
                    {
                        //  "密码至少有 10个字符长";
                    }
                    else if ((ValidatePwd(REG_CONTAIN_LOWERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_UPPERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_DIGIT_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_SPECIAL_CHAR_ASSERTION, user.UserPwd))
                      || (!ValidatePwd(REG_CONTAIN_LOWERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_UPPERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_DIGIT_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_SPECIAL_CHAR_ASSERTION, user.UserPwd))
                      || (ValidatePwd(REG_CONTAIN_LOWERCASE_ASSERTION, user.UserPwd) && !ValidatePwd(REG_CONTAIN_UPPERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_DIGIT_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_SPECIAL_CHAR_ASSERTION, user.UserPwd))
                      || (ValidatePwd(REG_CONTAIN_LOWERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_UPPERCASE_ASSERTION, user.UserPwd) && !ValidatePwd(REG_CONTAIN_DIGIT_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_SPECIAL_CHAR_ASSERTION, user.UserPwd))
                      || (ValidatePwd(REG_CONTAIN_LOWERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_UPPERCASE_ASSERTION, user.UserPwd) && ValidatePwd(REG_CONTAIN_DIGIT_ASSERTION, user.UserPwd) && !ValidatePwd(REG_CONTAIN_SPECIAL_CHAR_ASSERTION, user.UserPwd)))
                    {
                        //通过
                    }
                    else
                    {
                   //必须符合规则:至少有 10个字符长; 2. 至少包含以下四类字符中的三类字符:①英文大写字母(A 到 Z);②英文小写字 母(a 到 z);③10 个基本数字(0 到 9);④非字母字符(例如%、#、&);
                    }
      }

    js前端:

           //是否包含数字
            var ptr_digit = /^.*[0-9]+.*$/;
            //是否包含小写字母
            var ptr_lowcase = /^.*[a-z]+.*$/;
    
            //是否包含大写字母
            var ptr_upcase = /^.*[A-Z]+.*$/;
    
            //是否包含特殊字符(非数字、字母的字符)
            var ptr_special = /((?=[x21-x7e]+)[^A-Za-z0-9])/;
    if (pwd.length < 10)
    { alert(
    "密码至少有 10个字符长"); return false; } else if ((ptr_digit.test(pwd) && ptr_lowcase.test(pwd) && ptr_upcase.test(pwd) && ptr_special.test(pwd)) || (!ptr_digit.test(pwd) && ptr_lowcase.test(pwd) && ptr_upcase.test(pwd) && ptr_special.test(pwd)) || (ptr_digit.test(pwd) && !ptr_lowcase.test(pwd) && ptr_upcase.test(pwd) && ptr_special.test(pwd)) || (ptr_digit.test(pwd) && ptr_lowcase.test(pwd) && !ptr_upcase.test(pwd) && ptr_special.test(pwd)) || (ptr_digit.test(pwd) && ptr_lowcase.test(pwd) && ptr_upcase.test(pwd) && !ptr_special.test(pwd))) { //通过 } else
    { alert(
    "必须符合规则:至少有 10个字符长; 2. 至少包含以下四类字符中的三类字符:①英文大写字母(A 到 Z);②英文小写字 母(a 到 z);③10 个基本数字(0 到 9);④非字母字符(例如%、#、&);"); return false; }
  • 相关阅读:
    SQL 操作结果集 -并集、差集、交集、结果集排序
    MongoDB系列四:解决secondary的读操作
    org.apache.hadoop.ipc.RemoteException: User: root is not allowed to impersonate root
    hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
    FormData上传文件同时附带其他参数
    Hive删除分区
    Hive日期格式转换用法
    HIVE 不支持group by 别名
    ODS与EDW的区别
    hive数据类型转换、字符串函数、条件判断
  • 原文地址:https://www.cnblogs.com/professional-NET/p/12627263.html
Copyright © 2011-2022 走看看