2016-12-05 35 views
0

我有以下的正則表達式:爲什麼這個表達式不作特殊字符必須放

(?=^.{7,14}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*()_+}{":;'?\/>.<,])(?!.*\s).*$

這意味着要匹配和實施以下密碼策略:

  • 一個資本
  • 一個小寫
  • 一位數
  • 一個特殊字符即@

但是,它允許一個密碼,沒有任何特殊字符。

+0

對不起有人可以給我講解一下。從來沒有真正理解正則表達他們是必要的邪惡! – Ageis

+0

您需要使用真正的字符,而不是實體的,看https://regex101.com/r/TVPOCO/2。你想達到什麼目的?請重新撰寫問題以描述您的真實問題。 –

+0

對不起,但我有問題已更新多數民衆贊成是什麼試圖存檔 – Ageis

回答

1

的問題來自於字符類中的HTML實體(字符類是一組字符,你不能把裏面的字符串),因此,含有Q,U,O,T,E弦,G或者我成功了。

相反,你可以使用:

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]_{}])\S{7,14}$ 

(特殊字符的字符類是縮短使用範圍和ASCII表)

+0

對不起。這基本上是我的另一個無名的複製和粘貼失敗!我複製出來我的web.config因此其基於XML的entites否則視覺工作室抱怨的。 – Ageis

+0

@Ageis:這是不好:2 AVE 3佩特 –

+0

吧???抱歉不理解你的評論。如果你說我不喜歡我。我知道,因爲我很懶,現在是星期一。 – Ageis

相關問題