回答
當您設置一個模式裏面的條件,不要忘了實際消耗的字符,添加.+
捕捉到1個或多個符號,或者.*
捕捉到0個或多個字符:
{(?=.{8,})(?=(.*\d){0,})(?=(.*[^a-zA-Z0-9]){1,}).+}
不過,如果你想要求一個字符串至少有1位和至少1個非字符號(不包括下劃線),我建議使用
{(?=.{8,})(?=(?:.*\d){0,})(?=(?:.*[^a-zA-Z0-9]){1,}).+}
請參閱demo。
非常感謝, 但我擔心的是它不接受「_」作爲一個特殊字符,它接受作爲一個正常字符。 正如我們所知,我們廣泛使用下劃線作爲特殊字符 – user2078643
然而,'\ w'會將'_'視爲字母數字字符,並與A-Za-z0-9一起使用。 – Docteur
@Docteur:你能解釋一下嗎? '.'會匹配'_',我的模式中沒有'\ w'。是的,'\ w'匹配'_'。 –
- 1. 定期爲不允許使用特殊字符末包括下劃線和只有3個字符的限制
- 2. 允許特殊字符爲ng-pattern
- 3. 斯威夫特:允許特殊字符
- 4. Modrewrite允許數字,字母,下劃線
- 5. 只允許字母和特殊字符
- 6. 允許iOS中的特殊字符
- 7. 允許asp.net 3.5中的特殊字符
- 8. 允許URLRequest中的特殊字符httpBody
- 9. 允許一些特殊字符和字母數字字符
- 10. Robot.txt特殊字符不允許
- 11. @ + id /允許哪些特殊字符?
- 12. 允許特殊字符輸入密碼
- 13. Indy IMAP不允許使用特殊字符作爲密碼
- 14. 只允許字母,數字,下劃線或連字符django
- 15. 的preg_match允許特定特殊字符的字符串
- 16. JavaScript RegEx僅允許AlphaNumeric字符和一些特殊字符
- 17. 允許Windows下文件夾名稱中的特殊字符?
- 18. 正則表達式只有一次一個特殊字符從允許的特殊字符的Javascript
- 19. 正則表達式,不應該允許特殊字符和數字,除了下劃線
- 20. 用下劃線替換特殊字符的正則表達式
- 21. 用下劃線模板中的特殊字符訪問屬性?
- 22. sed - 搜索特殊字符(如下劃線)並用短劃線代替
- 23. preg_match不允許最後一個字符是下劃線或破折號
- 24. NGINX允許帶下劃線的標頭
- 25. 不允許一個下面的字符
- 26. 僅在字母數字字符後才允許特殊字符?
- 27. Sas9用下劃線替換特殊字符
- 28. 正則表達式只允許字母,數字,圓點,下劃線,短劃線。至少5個字符
- 29. 正則表達式排除特定的特殊字符並允許一些特殊字符
- 30. 檢查值爲NaN,但允許使用特殊字符
你可能想解釋你想做什麼:) – Luaan
上面的表達式接受至少一個特殊字符,除了「_」我想這應該被允許。 – user2078643