給出一個字符串一些指針,它必須具備以下條件:需要一些正則表達式驗證
- 只有一個號碼
- 在(@#$ *)
- 6個套管字母只有一個特殊字符
該字符串可以是上述條件的任意組合,且長度必須爲8。
例子:
- 2 @ QWERTY
1asddfg
- QWE * yt2u
qw2wqia
這裏我正則表達式到目前爲止:
!/^(?=.*[0-9])(?=.*[^a-z])(?=.*[a-z])(?=.*[@#$*])\S{8,}$/.test(string)
它適用於上述情況,但休息案件象下面這樣:
- 2 @ 2qwert
- 2 @@ QWERT
我缺少什麼?
爲什麼不把它分成4個簡單的正則表達式,並要求它們都匹配?至少會更容易實施和閱讀。 – alecxe
爲什麼使用正則表達式?沒有任何意義。 –
「下面的案例會打破」:他們應該通過還是失敗?失敗,我假設。你的模式中沒有需要6個字母的東西,那爲什麼要拒絕?另外,你的第一個和第四個lookahead確保第二個將總是*通過,所以它是多餘的。 –