В Internet Explorer регулярное выражение не может использоваться как функция.Эквивалентом является метод exec()
, который реализован в разных браузерах.
var matches = /[a-z]+(\d+)[a-z]+(\d+)/.exec(cell_id);
Чувствовалось, что этот ответ был немного неполным, не упоминая, что Internet Explorer - не единственный браузер, который не позволяет выполнять регулярные выражения как функции.Фактически, это расширение Mozilla, и оно даже не определено в 3-м или 5-м изданиях ECMAScript.Вы можете легко проверить, поддерживается ли это, используя оператор typeof
:
if (typeof / / == "function")
// Regex can be used like a function
else if (typeof / / == "object")
// Regex cannot be used like a function
Я не очень понимаю, почему это было реализовано или почему вы бы даже хотели проверить это, лучшечтобы просто ошибиться и использовать метод exec .