javascript - RegExp 未捕获类型错误 : Cannot read property '1' of null

标签 javascript regex

我找到了这段代码;

navigator.appVersion.match(/MSIE ([\d.]+)/)[1];

用于检测浏览器版本。此代码适用于以下 IE 8,但不适用于谷歌浏览器。谷歌浏览器中的错误说;

未捕获的类型错误:无法读取 null 的属性“1”

指向这段代码所在的行;

navigator.appVersion.match(/MSIE ([\d.]+)/)[1];

知道如何解决这个问题吗?


只是为了弄清楚我在这里要完成的是检测浏览器版本:

var version = navigator.appVersion.match(/MSIE ([\d.]+)/)[1];

if(version <= 8.0)

{
   execute code;
}

在 IE 中一切正常,但在 google chrome 中出现错误:

未捕获的类型错误:无法读取 null 的属性“1”

指向这段代码所在的行;

navigator.appVersion.match(/MSIE ([\d.]+)/)[1];

最佳答案

匹配 can return null 如果正则表达式没有找到任何东西。所以你必须首先获得匹配并检查你是否匹配。试试这个:

var ieMatches = navigator.appVersion.match(/MSIE ([\d.]+)/);
var isIE = !!ieMatches[1];

关于javascript - RegExp 未捕获类型错误 : Cannot read property '1' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158986/

相关文章:

javascript - 只用逗号分割字符串不留空格

regex - 如何在不使用 json 库和 json 解析器的情况下解析 json 文件

regex - Sublime Text xml替换正则表达式结果

javascript - 在 Chrome 扩展程序中嵌入 YouTube 视频

python - 无法在 Python 中使用正则表达式检索所有组

javascript - 使用 Sendemail 的 HTML 表单

javascript - CSSStyleDeclaration.prototype 上的defineGetter 和defineSetter

python - python 中的匹配字符串模式

javascript - D3 Javascript - 示例 SVG 在 HTML 中声明,无法嵌入 HTML 标签

javascript - CRM-从父实体的所有相关实体获取总字段