驗證密碼的正則(包含數字字母特殊字符 6到16位)
re = '^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$\%\^\&\*\(\)])[0-9a-zA-Z!@#$\%\^\&\*\(\)]{6,16}'
這里使用的是正則的零寬斷言 (? = xxx)
從 ^ 開始,表示從第零個位置開始匹配
(?= .*[0-9]) 匹配以任意字符開始后面跟數字(注意零寬斷言,是匹配到了才會繼續往下匹配,但是實際上是不拿數據的,下次匹配還是從第0個位置開始)
(?= .*[a-zA-Z])匹配以任意字符開始后面跟字母 (同上)
(?=.*[!@#$\%\^\&\*\(\)]) 匹配以任意字符開始 后面跟 ! @ # $ % ^ & * ( ) 任意一個特殊字符 (同上)
[0-9a-zA-Z!@#$\%\^\&\*\(\)]{6,16} 注意這里才是真實的匹配數據,只有前面三個都符合才會匹配這個表達式,真實的取數據