簡體   English   中英

用於密碼驗證的正則表達式

[英]Regular Expression for password validation

誰能幫助我創建用於密碼驗證的正則表達式。

條件為“密碼必須包含8個字符和至少一個數字,一個字母和一個唯一字符,例如!#$%&? "

^.*(?=.{8,})(?=.*[a-zA-Z])(?=.*\d)(?=.*[!#$%&? "]).*$

---

^.*              : Start
(?=.{8,})        : Length
(?=.*[a-zA-Z])   : Letters
(?=.*\d)         : Digits
(?=.*[!#$%&? "]) : Special characters
.*$              : End

嘗試這個

((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[\W]).{6,20})

以上正則表達式的描述:

(           # Start of group
  (?=.*\d)      #   must contains one digit from 0-9
  (?=.*[a-z])       #   must contains one lowercase characters
  (?=.*[\W])        #   must contains at least one special character
              .     #     match anything with previous condition checking
                {8,20}  #        length at least 8 characters and maximum of 20 
)           # End of group

“ / W”將增加可用於密碼的字符范圍,並且坑更安全。

您可以輕松地滿足每個單獨的要求(例如,最少8個字符: .{8,}將匹配8個或更多字符)。

要組合它們,可以使用“正向超前”將多個子表達式應用於同一內容。 (?=.*\\d.*).{8,}用於將一個(或多個)數字與前瞻性匹配,以及8個或更多字符。

所以:

(?=.*\d.*)(?=.*[a-zA-Z].*)(?=.*[!#\$%&\?].*).{8,}

記住要逃脫元字符。

密碼具有以下條件:

  1. 至少1位數字
  2. 至少2個特殊字符
  3. 至少1個字母字符
  4. 無空格

     'use strict'; (function() { var foo = '3g^g$'; console.log(/^(?=.*\\d)(?=(.*\\W){2})(?=.*[a-zA-Z])(?!.*\\s).{1,15}$/.test(foo)); /** * (?=.*\\d) should contain at least 1 digit * (?=(.*\\W){2}) should contain at least 2 special characters * (?=.*[a-zA-Z]) should contain at least 1 alphabetic character * (?!.*\\s) should not contain any blank space */ })(); 

您可以為javascript驗證創建自己的正則表達式;

        (/^
        (?=.*\d)                //should contain at least one digit
        (?=.*[a-z])             //should contain at least one lower case
        (?=.*[A-Z])             //should contain at least one upper case
        [a-zA-Z0-9]{8,}         //should contain at least 8 from the mentioned characters

        $/)

例如:-/ /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/ - /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/ - /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/ - /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/ - /^(?=.*\\d)(?=.*[a-zA-Z])[a-zA-Z0-9]{7,}$/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM