用于查找访问自定义属性的 JavaScript 的正则表达式



我正在修复我们的Web应用程序,使其与Internet Explorer 10(不兼容模式)兼容浏览器,并且遇到了几个问题。 有很多 JavaScript 可以访问元素的自定义属性,这在 Internet Explorer 10(常规模式)中不起作用。 我已经通过使用element.getAttribute("customattribute")修复了大多数情况。 问题是,有相当多的JavaScript,我不知道自定义属性试图获得的所有地方。 我一直在使用正则表达式查找所有匹配项。 基本上,我想找到任何单词,后跟一个点 (.) 后跟除 id、name、checked 等属性之外的任何单词,后跟空格或等号。 这就是我到目前为止想出的。

    (w).(?!attr|index|all|id|value|className)(w)([ t]|=)

不过,attr、index、all、id、value 和 className 这些词都被返回了。 有没有更好的方法(或正确的方法)来实现这一点?

我使用以下修改来获取您要求的内容:

(w*).(?!attr|index|all|id|value|className|getElementById)(w*)

但是,有很多您不想要的点短语(例如"document.getElementById","xmlhttp.open")。 因此,将您想要的东西列入白名单也可能有所帮助:

style.(?!attr|index|all|id|value|className|getElementById)(w*)

测试时间:http://gskinner.com/RegExr/JavaScript 代码示例。 如果没有关于 JavaScript 代码本身的更多信息,我可以假设有太多的排除或做相反的事情,如果我想找到太多的自定义代码。

最新更新