0
在我的演示MVC應用程序中,我有以下驗證規則來驗證我的域模型類。ASP.Net中的正則表達式驗證MVC
RuleFor(m => m.Password)
.Matches(@"^(?=(\d){2,})(?=([a-z])+)(?=(\.\$\~\&)*)").WithMessage("Password should contain at least 2 digits");
但密碼驗證失敗。 基本上我想驗證一個密碼輸入值應該至少包含2個數字,至少有一個特殊字符(。$〜&)和至少一個字母順序。
它們可以以任何順序出現。
基本上我應該匹配字符串喜歡
'a2ss1~A33',
'678.&aA88'
但不
'aaa2sfhdjkf^',
'aass'.
而且我只是碰到前瞻S IN的正則表達式來了。 我仍然懷疑爲什麼我們不能驗證密碼字段的規則?
.Matches(@"^((\d){2,})(.*[a-zA-Z])([\.\$\~\&]*)").WithMessage("Password should contain at least 2 digits");
什麼時候在正則表達式中使用lookahead,何時不使用lookahead?
請張貼密碼代碼不起作用,它應該匹配什麼密碼,哪一個它不應該,只是減少問題的實際問題。沒有必要展示什麼運作良好。 –
做了相應的處理。 – StrugglingCoder