需求:驗證密碼,大於8位,包含字母,數字和特殊字符。必須三者同時存在。文檔
解答:^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[\`\~\!\@\#\$\%\^\&\*\(\)\_\+\-\=\{\}\|\[\]\:\;\'\<\>\?\,\.]).{8,}$密碼
重點:寫起來其實不難,正常寫的,在特殊字符處,多個字符在一塊兒會由於未知的解析,出現解析錯誤發生,不能達到目的。方法
並且在文檔中說全部的正則符號都須要加轉義 \,可是隻是加這些仍是會有問題,因此最好的解決方法是全部的特殊字符都加上轉義 \字符
這樣就解決問題了。數字
補充下,在net中,若是下劃線_前加了轉義\,系統會不認,因此下劃線須要去掉轉義,仍然正常使用。錯誤
完美解答:^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[\`\~\!\@\#\$\%\^\&\*\(\)_\+\-\=\{\}\|\[\]\:\;\'\<\>\?\,\.]).{8,}$系統