我有一些問題得到一個正則表達式爲的RegularExpressionValidator到客戶端上運行:.aspx的工作的RegularExpressionValidator不同的客戶端和服務器
(?=.{8,})(?=.*[A-Z])(?=.*[\d])(?=.*[\W])|(?=.*[a-z])(?=.*[\d])(?=.*[\W])|(?=.*[A-Z])(?=.*[a-z])(?=.*[\W])|(?=.*[A-Z])(?=.*[a-z])(?=.*[\d])
這種表達應該返回true,如果提供的字符串
- 由至少八個字符的
- 具有三種四組「小寫字母」中的至少一個字符/ 「大寫字母」 /「數字」 /「的特殊字符」
使用在C#(.NET 3.5)這個表達式直接返回針對不同測試串預期的結果,但在客戶端瀏覽器內的有效字符串(例如aaaaBBB1)不起作用。
我讀過thread here,所以一個解釋是JavaScript的客戶端使用,與.NET實現相比,其工作方式略有不同。
現在我試圖在JavaScript中運行我的正則表達式來驗證在上面鏈接的線程中所做的參數,但在JavaScript中,我的正則表達式也與C#中的相同。
是否有另一種方式來獲取RegularExpressionValidator的工作?我不明白爲什麼JavaScript的作品(我預計它不會在閱讀實現差異後),但RegularExpressionValidator沒有。
預先感謝任何指向正確方向的指針。
G.
對於特殊的「\ X」字符類(如「\ d」和「\ W」),不需要將它們寫爲「[\ d]」;這與「\ d」本身完全相同。 – Pointy 2011-04-18 14:16:20
@Pointy - 謝謝,不知道, – Gorgsenegger 2011-04-19 06:34:03