1、js端验证
function checkPass(s) { if (s.length < 8) { return 0; } var ls = 0; if (s.match(/([a-z])+/)) { ls++; } if (s.match(/([0-9])+/)) { ls++; } if (s.match(/([A-Z])+/)) { ls++; } if (s.match(/[^a-zA-Z0-9]+/)) { ls++; } return ls }
2、后台验证
public class CheckPass { /// <summary> /// 密码强度 /// </summary> public enum Strength { Invalid = 0, //无效密码 Weak = 1, //低强度密码 Normal = 2, //中强度密码 Strong = 3 //高强度密码 }; /// <summary> /// 计算密码强度 /// </summary> /// <param name="password">密码字符串</param> /// <returns></returns> public static Strength PasswordStrength(string password) { //空字符串强度值为0 if (password == "") return Strength.Invalid; //字符统计 int iNum = 0, iLtt = 0, iSym = 0; foreach (char c in password) { if (c >= ‘0‘ && c <= ‘9‘) iNum++; else if (c >= ‘a‘ && c <= ‘z‘) iLtt++; else if (c >= ‘A‘ && c <= ‘Z‘) iLtt++; else iSym++; } if (iLtt == 0 && iSym == 0) return Strength.Weak; //纯数字密码 if (iNum == 0 && iLtt == 0) return Strength.Weak; //纯符号密码 if (iNum == 0 && iSym == 0) return Strength.Weak; //纯字母密码 if (password.Length < 8) return Strength.Weak; //长度小于8的密码 if (iLtt == 0) return Strength.Normal; //数字和符号构成的密码 if (iSym == 0) return Strength.Normal; //数字和字母构成的密码 if (iNum == 0) return Strength.Normal; //字母和符号构成的密码 return Strength.Strong; //由数字、字母、符号构成的密码 } }
3、使用方法
if (checkPass(mcp_txtPasswordField.getValue()) < 3) { toastalert(‘密码必须是字母大写、字母小写、数字、特殊字符中任意三个组合,且长度大于8位!‘); return false; }
if (CheckPass.PasswordStrength(this.txtPassword.Value)!=Strength.Strong) { this.Response.Redirect("/manager/ChangePwd.aspx"); return; }
4、第一次跳转时修改密码界面一般是单独界面,判断是否在iframe中方法
1.方式一 if (self.frameElement && self.frameElement.tagName == "IFRAME") { alert(‘在iframe中‘); } 2.方式二 if (window.frames.length != parent.frames.length) { alert(‘在iframe中‘); } 3.方式三 if (self != top) { alert(‘在iframe中‘); }
以上代码片段来自网友:
https://www.cnblogs.com/zycbloger/p/6196493.html
https://download.csdn.net/download/ice9696/5380033