public IHttpActionResult Register(string appid, string name, string email, string pwd, string confirm) { if (!ClientAppBll.Any(a => a.AppId.Equals(appid))) { return(ResultData(null, false, "应用不存在!")); } if (String.IsNullOrEmpty(name.Trim())) { return(ResultData(null, false, "用户名不能为空")); } if (!email.MatchEmail()) { return(ResultData(null, false, "邮箱格式不正确!")); } if (pwd.Length <= 6) { return(ResultData(null, false, "密码过短,至少需要6个字符!")); } if (!pwd.Equals(confirm)) { return(ResultData(null, false, "两次输入的密码不一致!")); } if (UserInfoBll.UsernameExist(name)) { return(ResultData(null, message: $"用户名【{name}】已经存在!")); } if (UserInfoBll.EmailExist(email)) { return(ResultData(null, message: $"邮箱【{email}】已经存在!")); } var regex = new Regex(@"(?=.*[0-9]) #必须包含数字 (?=.*[a-zA-Z]) #必须包含小写或大写字母 (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号 .{6,30} #至少6个字符,最多30个字符 ", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace); if (regex.Match(pwd).Success) { UserInfoDto user = UserInfoBll.Register(new UserInfo() { Username = name, Password = pwd, Email = email }); if (user != null) { ClientApp app = ClientAppBll.GetFirstEntity(a => a.AppId.Equals(appid)); if (app.Available) { app.UserInfo.Add(UserInfoBll.GetById(user.Id)); bool b = ClientAppBll.UpdateEntitySaved(app); return(ResultData(user, true, b ? "用户注册成功!" : "用户注册成功,但尚未分配到指定的应用子系统,请联系管理员!")); } return(ResultData(user, false, $"用户注册成功,但由于【{app.AppName}】网站当前服务不可用,而无法登陆,请联系管理员!")); } return(ResultData(null, false, "用户注册失败!")); } return(ResultData(null, false, "密码强度值不够,密码必须包含数字,必须包含小写或大写字母,必须包含至少一个特殊符号,至少6个字符,最多30个字符!")); }