2016-11-17 26 views
0

我正在爲實時前端驗證使用jquery插件引導驗證程序。密碼正則表達式 - 在unicode標誌的正則表達式中不允許使用原始大括號

當我添加一個模式/正則表達式驗證,驗證密碼(至少8個字符長的任意字符串),我收到以下錯誤

無法檢查<input pattern='^.*{8,}$'>因爲該模式是不是一個有效的正則表達式:原料撐不正則表達式中允許使用Unicode標誌

的HTML是

<input pattern="^.*{8,}$" class="form-control" required="required" name="user[password]" id="user_password" type="password"> 

應該如何我寫的正則表達式?

+0

您是否試圖用8個或更多字符匹配所有內容? – schroffl

+0

長度至少爲8個字符的密碼。是的,我忘記了空白,請參閱@Dekel答案。 –

回答

3

您應該使用^.{8,}$來代替。

這個正則表達式適用於任何char - 8次或更多。

請注意,它也將允許密碼內的空格。如果你想允許任何非空格字符,你可以使用^[^\s]{8,}$

您當前的正則表達式實際上是

接受任何字符(.) - 任意次數(*),並用至少8個字符{8,}接受它(「任意字符任意次數」) (這沒有任何意義)。

+0

謝謝,我想我誤導了錯誤信息(我正在尋找一個花括號的問題),並沒有意識到問題在其他地方:D。謝謝你的提示。 –

+0

HTML5模式屬性中不需要'^'和'$'。 –

+0

@WiktorStribiżew,我不確定驗證是否由HTML5或基於JavaScript的另一個驗證插件完成。 – Dekel