我使用 validate.js 進行表單驗證,并且有一個密碼模式,我希望只允許以下特殊字符之一:-!@_#
密碼模式如下:
password1: {
pattern:/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[-!@_# ])(?=.{8,})/
},
但是,當我輸入 *、$ 或 % 字符作為密碼輸入時,沒有給出錯誤訊息。任何幫助,將不勝感激。謝謝你。
uj5u.com熱心網友回復:
您并沒有真正限制用戶的輸入選項,您的模式說:從字串的起始位置,檢查它是否后跟一個小寫字母,然后檢查它是否后跟一個大寫字母,然后是數字,然后一些符號。
沒有什么可以限制用戶的輸入。因為.*將匹配任何不是行終止符的字符(\n、\r 等)。
你應該嘗試這樣的事情:/^([-\w!@# ] ){8,}$/
這里\w是數學 az、AZ、0-9 和下劃線。
在此處測驗正則運算式:
uj5u.com熱心網友回復:
您的模式絕對正確,我認為您的代碼中有錯誤。所以請檢查代碼或回復代碼鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/451643.html
標籤:javascript 正则表达式 验证 密码
