我的要求是執行其中包含的規則不具有連續的數字,即「pass1234」,「ABC12」,「12tab」等應不允許使用的密碼策略。我目前正則表達式是:正則表達式不匹配的對象連續編號C#
if(!Regex.IsMatch(password,
@"^(?!(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)|9(?=0))\d{1,}|(?:0(?=9)|1(?=0)|2(?=1)|3(?=2)|4(?=3)|5(?=4)|6(?=5)|7(?=6)|8(?=7)|9(?=8))\d{1,})[a-zA-Z\d]+$")))
但上述正則表達式匹配以數字開頭的字符串,即「12abc」,「12pass」但不包含像「ab12pass」串之間的數字串,「pass1234」等。
所有其它規則使用正則表達式所定義。 – Siddharth
@Siddharth您可以隨時使用正則表達式進行一次檢查,而使用常規代碼檢查另一次。試圖創建一個怪物正則表達式是恕我直言,很難維護。 – juharr
以上方法奏效。非常感謝! – Siddharth