C#用于密码强度的DataAnnotations RegularExpression
全部, 我正在使用ASP.NET MVC并尝试使用正则表达式来强制执行密码要求 Register.cshtml:C#用于密码强度的DataAnnotations RegularExpression,c#,regex,asp.net-mvc,C#,Regex,Asp.net Mvc,全部, 我正在使用ASP.NET MVC并尝试使用正则表达式来强制执行密码要求 Register.cshtml: @Html.ValidationMessageFor(model => model.Passwd, "", new {@class = "text-danger"}) [RegularExpression("/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{8}/g", ErrorMessage = "Password mus
@Html.ValidationMessageFor(model => model.Passwd, "", new {@class = "text-danger"})
[RegularExpression("/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{8}/g",
ErrorMessage = "Password must meet requirements")]
public string Passwd { get; set; }
型号类别:
@Html.ValidationMessageFor(model => model.Passwd, "", new {@class = "text-danger"})
[RegularExpression("/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{8}/g",
ErrorMessage = "Password must meet requirements")]
public string Passwd { get; set; }
我复制了正则表达式,并在RegexPal.com中对其进行了独立测试,结果非常好
但是,在我的ASP.NET MVC应用程序中使用它时,我每次都会收到错误消息(即使使用我知道符合要求的密码)
我做错什么了吗?DataAttributes RegularExpression属性的行为是否与标准正则表达式不同?您可以尝试以下方法
[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8}$",
ErrorMessage = "Password must meet requirements")]
public string Passwd { get; set; }
如果还需要至少一个特殊字符,请尝试以下操作:
[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8}$",
ErrorMessage = "Password must meet requirements")]
public string Passwd { get; set; }
你可以试试下面的方法
[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8}$",
ErrorMessage = "Password must meet requirements")]
public string Passwd { get; set; }
如果还需要至少一个特殊字符,请尝试以下操作:
[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8}$",
ErrorMessage = "Password must meet requirements")]
public string Passwd { get; set; }
在某种程度上,post可能会引导你。