簡體   English   中英

Java Regex用於密碼驗證

[英]Java Regex for password validation

我已經在Java應用程序中創建了用於密碼驗證的正則表達式。 我為以下需求創建的正則表達式如下。

^[\\p{Alnum}#.!@$*&_]{5,12}$
  1. 至少5個字符,最多12個字符
  2. 包含至少一位數字
  3. 包含至少一個字符
  4. 可能包含一組特殊字符(#.!@$*&_)中的字符
  5. 不包含空格,制表符等。

我缺少1和2,就像如果我給“ gjsajhgjhagfj”或“ 29837846876”一樣,它應該失敗。 但這沒有發生。

有人可以幫忙嗎?

您可以提前使用條件1和2:

^(?i)(?=.*[a-z])(?=.*[0-9])[a-z0-9#.!@$*&_]{5,12}$

演示

(?i)用於不敏感的匹配,與您的編譯函數的Pattern.CASE_INSENSITIVE標志相同:

Pattern.compile(regex, Pattern.CASE_INSENSITIVE)

您可以在此處詳細了解Lookaheads

暫無
暫無

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

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