2014-04-07 68 views
1

我寫了一個RegEx並試圖匹配輸入文本是否與它匹配。Javascript正則表達式匹配()在IE6中不起作用

var inputtxt = document.fd.pwd; 
var decimal= /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,20}$/; 

if(inputtxt.value.match(decimal)) 
{ 
    alert("Your Password confirms to New Password Rules."); 

} 
else 
{ 
    alert("Your Password must contain atleast one each of following: \n\t 1 Uppercase alphabet \n\t 2 Lowercase alphabet \n\t 3 Digit[0-9] \n\t 4 Special Character[ie !,@,#,$ etc] \n\n It SHOULD NOT conatin any Blank spaces "); 

} 

此代碼工作完全在FF /鉻/ IE8 +但在IE6不工作。

+6

讓IE6死亡! – rekire

+4

如果你想支持IE6,你最好不要在JavaScript中嘗試任何奇妙的東西......你不能有一個服務器端驗證後備? (無論如何你可能會需要這個) – rednaw

+0

可能不支持lookahead。雖然不難解決。 – RobG

回答

0

Windows XP是唯一仍支持IE6的Windows平臺。對Windows XP的支持終止於...好吧,看看自己here

IE6的全球使用率非常低(在中國以外),因此可以忽略不計的副作用(類似於大多數人甚至不知道的那些低使用率的瀏覽器)。

換句話說,支持IE6的投資回報是方式,方式,太糟糕了,甚至不會考慮這樣做。只需放棄支持並繼續生活,你就可以節省時間和金錢。