我在創建正則表達式時遇到問題。它需要fullfill以下:特定的密碼正則表達式
1)具有8-12個字符
2)至少1個大寫字母
3)至少3個小寫字母
4)至少1數
5)至少1個特殊字符
6)具有開始與小寫,大寫在前或數字
7)最多2個重複字符
在此先感謝!
我在創建正則表達式時遇到問題。它需要fullfill以下:特定的密碼正則表達式
1)具有8-12個字符
2)至少1個大寫字母
3)至少3個小寫字母
4)至少1數
5)至少1個特殊字符
6)具有開始與小寫,大寫在前或數字
7)最多2個重複字符
在此先感謝!
這應該工作
^(?=.*[A-Z])(?=(?:.*[a-z]){3})(?=.*[0-9])(?=.*[!"#$%&'()*+,\-./:;<=>[email protected][\]^_`{|}~])(?=(?:(.)(?!\1\1))+$)[a-zA-Z0-9].{7,11}$
解釋/擴展
^ # BOS
(?= .* [A-Z]) # 1 upper
(?=
(?: .* [a-z]){3} # 3 lower
)
(?= .* [0-9]) # 1 number
(?=
.* [!"#$%&'()*+,\-./:;<=>[email protected][\]^_`{|}~] # 1 special
)
(?= # Maximum 2 repeating
(?:
(.) # (1)
(?! \1 \1)
)+
$
)
[a-zA-Z0-9] # First alnum
.{7,11} # 8 to 12 max chars
$ # EOS
經過測試,工作!非常感謝! –
你到目前爲止得到了什麼? 另外,你使用哪一組正則表達式?
我用表達
限制它的長度開始是8-12,像[A-ZA-Z] {8,12}
對於在第一個要求,你可以使用[] +
對於其他要求,這是一個有點tricker
現在:最少8個和最多12個字符,至少一個大寫字母,一個小寫字母,一個數字和一個特殊字符: 「^(?=。* [az])(?= * [AZ])(?=。* \ d)(?=。* [$ @ $!%*?&])[A-ZA-Z \ d $ @ $!%*?&] {8, 12}「 –
'*'將在技術上工作。除非你這樣做,否則我不會顯示更多的努力。 –
正則表達式不匹配匹配「必須至少包含_N_ of ...」爲什麼你不能只寫一個子程序來掃描一次字符串,並計算出看到的字符數是多少以適應每個所需的類別? –
'最多2個重複字符' - 這是什麼意思? – sln