gpt4 book ai didi

Javascript 正则表达式在 IE 中不起作用

转载 作者:行者123 更新时间:2023-11-30 13:39:28 25 4
gpt4 key购买 nike

所以我已经生成了这个表,并且每个单元格都被赋予了一个唯一的 ID,即 r#c#,其中 # 是行/列。我有下面的代码,它在鼠标悬停时从单元格的 ID 中提取行号和列号,它在 firefox 和 chrome 中工作得很好,但在 internet explorer 中不起作用。

var cell_id = $(this).attr("id");
var matches = /[a-z]+(\d+)[a-z]+(\d+)/(cell_id);
var row = matches[1];
var col = matches[2];

为什么这在资源管理器中不起作用?

最佳答案

在 Internet Explorer 中,正则表达式不能用作函数。等价于 exec() 方法,它是跨浏览器实现的。

var matches = /[a-z]+(\d+)[a-z]+(\d+)/.exec(cell_id);


感觉这个答案有点不完整,没有提到 Internet Explorer 不是唯一不允许像函数一样执行正则表达式的浏览器。事实上,它是一个 Mozilla 扩展,甚至没有在 ECMAScript 第三版或第五版中定义。您可以使用 typeof 运算符轻松检查它是否受支持:

if (typeof / / == "function")
// Regex can be used like a function
else if (typeof / / == "object")
// Regex cannot be used like a function

我真的不明白为什么要实现这个,或者为什么你甚至想检查它,最好还是谨慎行事,使用 exec 方法。

关于Javascript 正则表达式在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com