簡體   English   中英

JavaScript正則表達式OR運算符

[英]JavaScript Regular Expression OR Operator

在Twitter上看到了一個挑戰,所以我一直在努力解決它,因為我對正則表達式並不是最好的選擇。 這是我到目前為止的內容:

var pass_regex = new RegExp(/^[a-z][A-Z][0-9]|[!@#$%^&*()_]+$/);

我正在嘗試匹配包含以下內容的密碼輸入:

  • 1個小寫字母
  • 1個大寫字母
  • 1位數字或特殊字符

我遇到問題的地方是“ OR”部分,我認為[0-9]與我的特殊字符集之間的管道分隔符可以工作,但似乎不起作用。 試圖更好地了解如何使用正則表達式檢查1位數字或1個特殊字符。 預先感謝您提供的任何幫助。

最后一個:

您需要使用基於正向前瞻的正則表達式來檢查多個條件。

^(?=.*?[A-Z])(?=.*?[a-z]).*?[\W\d].*

要么

^(?=.*?[A-Z])(?=.*?[a-z]).*?[!@#$%^&*()_\d].*
  • (?=.*?[AZ])斷言必須至少有一個大寫字母。
  • (?=.*?[az])至少一個小寫字母。
  • .*? 任何字符零次或多次的非貪婪匹配。
  • 如果滿足上述條件,則匹配相應的字符串,並且該字符串還必須包含給定列表[!@#$%^&*()_\\d]至少一個字符。 此列表中的\\d匹配任何數字字符。
  • .*匹配以下零個或多個字符。

DEMO

暫無
暫無

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

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