2017-04-17 88 views
-2

對於淨MVC Web應用程序中設置密碼的複雜性,我怎麼能實現以下規則:設置密碼複雜性

1)密碼不能包含顯著的部分名稱(三個或更多的連續字符)。 (這一點是不可用在聯交)

2)至少三個以下四類:

  • 英文大寫字符(A至Z)
  • 英文小寫字符(a到z !)
  • 10個基本數字(0〜9)
  • 非字母字符:〜!@#$%^ * & + _

我想用javascript/jquery實現這一點。

感謝

+3

爲什麼要使用JavaScript?您可以使用ASP.NET MVC – MacakM

+0

中的註釋更好地執行此操作。最小長度不會比每個類別概念中的字符更有用嗎?什麼名字」?用戶的名字? – nnnnnn

+0

@ MacakM-怎麼樣?你能解釋一下嗎? –

回答

0

這是不好的使用JavaScript用於此目的(它可以繞過)。更好的解決方案是使用ASP.NET MVC數據註釋。有了它們,您可以爲模型類設置屬性,並在觸發POST操作時根據此屬性驗證輸入。

您可以在這裏瞭解更多:https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/models-data/validation-with-the-data-annotation-validators-cs

您也可以根據您的需要編寫自定義的驗證屬性。在你的情況下,我認爲[RegularExpression]屬性將足夠2)。

爲1),你應該讓你的自定義屬性在這裏所示: http://www.c-sharpcorner.com/UploadFile/rahul4_saxena/mvc-4-custom-validation-data-annotation-attribute/

+0

@MakakM-你認爲我可以通過這個[RegularExpression]屬性實現我的第一點嗎? –

+0

我不知道我是否明白這一點......是否意味着用戶MacakM的密碼不能是aca5842? – MacakM

+0

例如:name = MacakM,所以密碼不能有名字'MacakM'中的3個連續字符中的任何一個。像有效的密碼= Ab1 @ h2s5。 無效的密碼= AbMac5s,因爲它有'Mac'的名字。 –