![](/img/trans.png)
[英]ASP.NET MVC RegularExpression Attribute Not Working with Parenthesis (literal)
[英]ASP.NET MVC 5 RegularExpression Attribute Failing For Password Validation
這是我的正則表達式:
[RegularExpression(@"^((?=.{12,}$)(?=[^\d]*\d)(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=[^\W]*\W))", ErrorMessage = "Passwords must be at least 12 characters long and contain at least an upper case letter, lower case letter, digit and a symbol")]
條件:
長12個字符,至少一個小寫字母,大寫字母和特殊字符。
在以下情況下拒絕字符串:
任何少於12個字符的字符串,
aaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaa1
在以下情況下,將接受(應拒絕)字符串:
aaaaaaaaaaaaaaA,
aaaaaaaaaaaaaa#
編輯:這是我的模型中密碼獲取器和設置器的代碼。
[Required]
[RegularExpression("^(?=.{12,}$)(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@!%*?&,#]).+$", ErrorMessage = "Passwords must be at least 12 characters long and contain at least an upper case letter, lower case letter, digit and a symbol")]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
嘗試這個:
您的條件:
長12個字符,至少一個小寫字母,大寫字母和特殊字符。
注意:我也添加了一個數字,因為您的驗證消息中包含數字。
[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{12,}", ErrorMessage = "Passwords must be at least 12 characters long and contain at least an upper case letter, lower case letter, digit and a symbol")]
[RegularExpression(@"^(?=.*[az])(?=.*[AZ])(?=.*\\d)(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&]{12,}", ErrorMessage = "Passwords must be at least 12 characters long and contain at least an upper case letter, lower case letter, digit and a symbol")]
@SwapNeil給出的答案是正確的。
您可以在這里嘗試: https : //regex101.com/
如果仍然無法正常工作。 請檢查視圖中是否包含〜/ bundles / jqueryval。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.