正則表達式驗證6~30位數字,下划線,中划線,字母任意兩種混合的密碼驗證策略


需求要求:

  1. 位數為6~30位
  2. 至少包含字母、數字、下划線_、中划線-中的兩種

正則表達式:

  • js表達式:
    ^(?!^[\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\w-]{6,30}$

  • java表達式-字符串:

"^(?!^[\\d]+$)(?!^[-]+$)(?!^[_]+$)(?!^[a-zA-Z]+$)[\\w-]{6,30}$"

解析:

至少四種中的兩種也可以解釋為為不是純數字、不是純字母、不是純下划線,不是純中划線

測試用例:

123456a(匹配)
_12345a(匹配)
_123-45a(匹配)
123456 (6位純數字,沒有匹配)
abcdef (6位純字母,沒有匹配)
------ (6位純中划線,沒有匹配)
______ (6位純下划線,沒有匹配)
123456789012345678901234567890a(31位字母數字組合,沒有匹配)
_123-45a+(9位四種混搭多個加號,沒有匹配)
_12%3-45a(9位四種混搭多個百分比號,沒有匹配)
a-_1d(5位四種混搭,沒有匹配)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM