关于asp.net:Regex至少1个特殊字符,1个数字和1个字母,最小长度8个字符C#

Regex for atleast 1 special character, 1 number and 1 letter, min length 8 characters C#

本问题已经有最佳答案,请猛点这里访问。

我正在尝试验证密码。我在视图模型中使用数据注释,如下所示:

1
[RegularExpression("^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[@$!%*#?&])[A-Za-z[0-9]@$!%*#?&]{8,}$",ErrorMessage="Password must contain atleast 1 number, 1 letter, and 1 special character.")]

当我尝试用正确的格式注册时,它仍然会给出错误消息。

有人能帮我看看吗?


可以使用此正则表达式验证内容

1
([a-zA-Z]{1,})([@$!%*#?&]{1,})([0-9]{1,})

但我将使用另一个数据注释属性来验证长度。然后您将知道您的模型状态是否由于无效字符或长度而失败,例如[StringLength]


在你的regex里,你有

[A-Za-z[0-9]@$!%*#?&]

对于[0-9]不需要内方括号。应该是0-9\d