我已經寫密碼一個正則表達式,其接受任意字符用5分鐘長度和30.正則表達式是不工作在C#
我嘗試下面的表達式最大長度:
(\S){5,30}
但它也接受超過30個字符的密碼。我怎樣才能確保它不符合這些密碼?
我已經寫密碼一個正則表達式,其接受任意字符用5分鐘長度和30.正則表達式是不工作在C#
我嘗試下面的表達式最大長度:
(\S){5,30}
但它也接受超過30個字符的密碼。我怎樣才能確保它不符合這些密碼?
你的問題是你的正則表達式也匹配你輸入的子串。
\S{5}
(或(\S){5}
)匹配12345
的字符串1234567890
。
所以,你需要錨您正則表達式:
^\S{5,30}$
驗證5-30字符,非空白的字符串。 \S
附近的括號是無用的和不必要的。
無論如何,你爲什麼會對密碼施加長度限制?爲什麼你不允許空白字符呢?另見this。
如果您確實需要「任何字符」,請使用句點(.
)而不是\S
。
他想匹配沒有空格的字符串。 「」將抓住那些。 –
而這並不能解決他的問題。 –
也許,但他確實說了「任何字符」,並沒有在描述中指定非空白(儘管暗示了「\ S」)。通常,密碼可以接受空格。 – jcadcell
顯示示例輸入並解釋您希望匹配的內容不匹配。說什麼是「不行」是非常模糊的 - 你需要更加明確。 – Oded
我嘗試了超過30個字符的輸入密碼,但驗證不正確。 – Nayan
您可能想要錨定該RE ... –