#region 验证明文 public string VerificationPassword(string VeripasswordName) { String let = ""; String ret = ""; String msg = "37413581456193574325a"; int length = (VeripasswordName.Length) / 4; for (int i = 0; i < length; i++) { let = VeripasswordName.Substring(4 * i, (((i + 1) * 4) - (4 * i))); int js = int.Parse(msg.Substring(i, 1)); int ascNum = (int.Parse(let.Substring(0, 2)) - js) * 9 + (int.Parse(let.Substring(2, 2)) / js); let = (char)ascNum + ""; ret = ret + let; } return ret; } #endregion
#region 验证密码正则表达式 public bool RexCheckPasswords(string value) { string pwd = value; var regex = new Regex(@"(?=.*[0-9]) #必须包含数字 (?=.*[a-zA-Z]) #必须包含小写或大写字母 (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号 .{8,30} #至少8个字符,最多30个字符 ", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace); if (regex.Match(pwd).Success) { return true; } return false; } #endregion
引用方法验证
if (VerificationPassword(txtUserPwd.Value).Length < 8) { string ErrorMessage = "密码过短,至少需要8个字符!"; ShowMsgHelper.showFaceMsg(ErrorMessage); } else { IsPass = RexCheckPasswords(VerificationPassword(txtUserPwd.Value)); if (!IsPass) { string ErrorMessage = "密码强度值不够,密码必须包含数字,必须包含小写或大写字母,必须包含至少一个特殊符号,至少8个字符,最多30个字符!"; ShowMsgHelper.showFaceMsg(ErrorMessage); } else {
//成功
}
}
页面js function check1(input) { var msg = "37413581456193574325a"; var lens = input.length; var lect = ""; for (var i = 0; i < lens; i++) { var c = input.substr(i, 1); var b = msg.substr(i, 1); var charValue = c.charCodeAt(0); c = String((Number(parseInt(charValue / 9)) + Number(b) + Number(100))).substr(1, 2) + String((Number((charValue % 9)) * Number(b) + Number(100))).substr(1, 2); lect = lect + c; } return lect } //登录 [调用] function loginCheck() { var Account = $("#Window1tbxUserName-inputEl").val(); var input = $("#Window1_tbxPassword-inputEl").val(); var checkAccount = check1(Account); var checkInput = check1(input); $("#Window1tbxUserName-inputEl").val(checkAccount); $("#Window1_tbxPassword-inputE").val(checkInput); }
原文:https://www.cnblogs.com/fhrfhr/p/13377018.html