在Chrome和Firefox下面的正則表達式的作品,但不是IE7:密碼的正則表達式工作於Chrome和Firefox,而不是IE7
^((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,20})$
它必須包含至少8個字符,至少有上大寫字母和數字。當我在IE7中嘗試這個時,我必須輸入14個字符才能進行驗證。有人可以解釋爲什麼和什麼是所有3種瀏覽器的正確表達。
我正在使用asp:RegularExpressionValidator來驗證密碼。
在Chrome和Firefox下面的正則表達式的作品,但不是IE7:密碼的正則表達式工作於Chrome和Firefox,而不是IE7
^((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,20})$
它必須包含至少8個字符,至少有上大寫字母和數字。當我在IE7中嘗試這個時,我必須輸入14個字符才能進行驗證。有人可以解釋爲什麼和什麼是所有3種瀏覽器的正確表達。
我正在使用asp:RegularExpressionValidator來驗證密碼。
str.length > 8
/[A-Z]/
/\d/
三個檢查與一個怪物正則表達式。哪些更容易閱讀,並不會導致在IE瀏覽器中的問題?
if(str.length > 8 && str.search(/[A-Z]/) != -1 && str.search(/\d/) != -1)
{
//Don't use big long regex when you don't need it
}
*困惑*。這被標記爲C#和ASP.NET,所以大概這個正則表達式運行serverside和瀏覽器是不相關的?如果這是JavaScript,請標記爲這樣。 – 2011-01-13 16:09:23
那麼,正則表達式是一個asp:RegularExpressionValidator,它是客戶端驗證。我相信默認情況下,正則表達式運行在客戶端,除非我指定了一個服務器端驗證事件處理程序。糾正我,如果我錯了? – Xaisoft 2011-01-13 16:10:32