2011-08-30 24 views
2
try{  
    var hdnPassenger = $("#ctl00_ContentPlaceHolder1_hdnPassenger").val(); 
    var newTr = $("#hdnCtl").html(); 
    newTr = newTr.replace(/_ID/g, hdnPassenger); 
} 
catch(ex){ 
    alert(ex); 
} 

上面的代码是在Internet Explorer的做工精细替换字符串,但在Mozilla Firefox浏览器错误在Firefox中,同时使用正则表达式在JavaScript

InternalError该显示以下错误:正则表达式太复杂

+0

它显示什么错误? –

+1

InternalError:正则表达式太复杂 –

+0

我想,下一步是找出'hdnPassenger'变量的值是什么。 –

回答

0

有做了一些研究这个问题,有此错误的两个可能的原因:

  1. 实际的正则表达式太复杂(不是你的情况,因为你只需要/ _ID /)
  2. 你试图做替换的字符串的长度(我不知道它是什么,但可能很长)。似乎在某些版本的Firefox中有一些硬编码的限制,但我不能担保。

我建议你做两本:添加hdnPassengernewTr变量的值 - 而在同一时间谷歌firefox regular expression too complex - 有大量的点击。