Ошибка в Firefox при замене строки с помощью регулярного выражения в JavaScript - PullRequest
2 голосов
/ 30 августа 2011
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

InternalError: регулярное выражение слишком сложное

1 Ответ

0 голосов
/ 30 августа 2011

Проведя некоторое исследование этой проблемы, есть две возможные причины этой ошибки:

  1. Фактическое регулярное выражение слишком сложное (не в вашем случае, поскольку у вас есть только / _ID /)
  2. Длина строки, на которой вы пытаетесь выполнить подстановку (я не знаю, что это такое, но, вероятно, довольно длинная). Кажется, что в некоторых версиях Firefox есть жестко ограниченный лимит, но я не могу за это ручаться.

Я предлагаю вам сделать два следующих шага: добавить значения переменных hdnPassenger и newTr - и в то же время Google firefox regular expression too complex - есть много совпадений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...