2011-11-28 44 views
2

我正在嘗試使用以下RegExp來驗證輸入到我的表單中的密碼;錯誤:無效的量詞 - RegExp中的JavaScript

8-12個字符,至少有1個大寫字母,1個數字字符,1個來自@#$的特殊字符! & *

^(?=.*[\d])(?=.*[a-z])(?=*[A-Z])(?=*[@#$!&*]).{8,12}$ 

當我進入到我的JavaScript函數,它拋出錯誤「無效的量詞」

我很新的JavaScript和正則表達式,所以這可能是一個非常簡單的問題,但如果任何人有任何意見,我可能會錯誤或誤導我,我會很感激!

謝謝:)

回答

4

您的(?=* ...)爲大寫字母和特殊字符的要求缺少字符或元字符爲*量詞用法被應用到。在這樣的模式下,和其他例子一樣,它應該是一個點。

安裝此更新,完整的模式是:

^(?=.*[\d])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$!&*]).{8,12}$ 
+0

Omg。咄。對不起,錯別字將是我的死亡。謝謝! – beckalyce

+0

@beckalyce沒問題!作爲一個附註,你可以使用'\ d'而不是'[\ d]',因爲它本身是一個多餘的字符類。 –

0

一個*需要量化的東西。把它之前的東西進行量化。

相關問題