1樓:愛染年
密碼強度指乙個密碼被非認證的使用者或計算機破譯的難度。 密碼強度通常用「弱」或「強」來形 容。「弱」和「強」是相對的,不同的密碼系統對於密碼強度有不同的要求。
密碼的破譯與系統允許客戶嘗試不同密碼的次數、是否熟悉密碼主人等因素相關。然而,即使再強的密碼也有可能被偷取、破譯或洩漏,在使用者設定密碼時,盡可能的將密碼設定的越複雜、位數越長、經常更換此型別的密碼,從而才能讓密碼強度盡可能達到最高。
條件1: 密碼只能是數字或大小寫字母或下劃線的組合
條件2: 如果密碼包含數字和字母的組合即為強.
例如 : 123abc 為強密碼
123abc_也是強密碼
123456 為弱密碼
123456_為弱密碼
abcdef 為弱密碼
abcdef_ 為弱密碼
首先,畫乙個dfa:
其中,s是開始狀態,a代表包含數字但不包含字母的狀態,b代表包含字母但不包含數字的狀態,c代表既包含字母又包含數字的狀態,o代表包含非法字元的陷阱狀態。如果狀態機停在s、a、b狀態,則為弱密碼。如果狀態機停在c狀態,則為強密碼。
如果狀態機停在o狀態,則為非法密碼。然後,把它轉化成正則就可以啦。
下面這個正則要求密碼長度最少12位,包含至少1個特殊字元,2個數字,2個大寫字母和一些小寫字母。
(?=^.$)(?
=(?:.*?\d))(?
=.*[a-z])(?=(?:.
*?[a-z]))(?=(?:.
*?[!@#$%*()_+^&})(?!.
*\s)[0-9a-za-z!@#$%*()_+^&]*$
分解:(?=^.$) -- 密碼長度12-25,自己改變量字可以調節
(?=(?:.*?[!@#$%*()_+^&}) -- 至少乙個特殊字母,fyi
(?=(?:.*?\d)) -- 至少2個數字,fyi
(?=.*[a-z]) -- a-z的小寫字母
(?=(?:.*?[a-z])) -- 至少2個大寫字母,fyi
2樓:
兩種:第一,要求密碼至少包含 大寫字母,小字字母,數字,特殊符號中的兩種:
reg=/^(?![0-9]+$)(?![a-z]+$)(?![a-z]+$)(?!([^(0-9a-za-z)])+$).$/;
第二:要求密碼必須包含字母,數字和特殊符號:
reg=/^(?=.*[a-za-z])(?=.*[1-9])(?=.*[\w]).$/;
3樓:匿名使用者
var strongregex = new regexp("^(?=.)(?
=.*[a-z])(?=.
*[a-z])(?=.*[0-9])(?
=.*\\w).*$", "g");
表示至少8個字元,而且必須同時有大寫字母,小寫字母,數字,除了字母數字下劃線以外的字元。四種字元必須都有,缺一不可。
比如「aabb2?eee"就符合要求,而「aabb2_eee"就不符合要求
var mediumregex = new regexp("^(?=.)(((?
=.*[a-z])(?=.
*[a-z]))|((?=.*[a-z])(?
=.*[0-9]))|((?=.
*[a-z])(?=.*[0-9]))).
*$", "g");
表示至少7個字元,必須同時含有大寫字母和小寫字母;或者同時有大寫字母和小寫字母;或者同時有小寫字母和數字。以上三種情況滿足一種即符合要求
寫乙個j**a正規表示式,判斷輸入的密碼強度,是數字弱,是字母較弱,數字加字母強,用\s寫
4樓:清明月心
scanner input=new scanner(system.in);
system.out.print("請輸入密碼:");
string pwd=input.next();
string p="",p2="";
pattern pa1=pattern.compile("\\d+");
pattern pa2=pattern.compile("\\w+");
matcher m1=pa1.matcher(pwd);
matcher m2=pa2.matcher(pwd);
if(m1.find())else if(m2.find())
if(p.length()==pwd.length())else if(p2.length()==pwd.length())else
求一正規表示式,匹配pp之間的內容
或 p 你取第一組中的內容,就可以取得了 正規表示式提取html中的與之間的內容,前面裡面可能還有屬性 var str 核心提示 var pobj document.getelementbyid testp var pattern new regexp p i alert str.match pat...
哪位大神能幫我讀一下這段正規表示式php中的我
前面都是照著匹配 主要是後面這一塊 css js flash a za z0 9 其中 css js flash 表示匹配css或js或flash a za z0 9 表示匹配中的任意乙個字元,也就是26個英文本母 不分大小寫 和0到9以及正斜線中的任意乙個,後面的 表示部分至少重複一次。整體來說就...
正規表示式中兩個不同的匹配條件怎麼在一條語句裡執行
4終 1 開啟sublime text3編輯器,新建一個py檔案。import re,也就是引入regular expression正規表示式庫。2 test re.compile r print test.findall 666 888 如果要匹配星號,只需要在前面加上反斜槓。3 如果不加上反斜槓...