javascript - RegEx:将 Android 设备名称与 JavaScript 匹配

标签 javascript android regex device-name

我想将 Android 设备的名称(例如“Galaxy Nexus”)与 JavaScript RegEx 模式相匹配。

我的用户代理如下所示:

"Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"

如果我采取“;”之间的所有内容和“Build/”然后我得到设备名称。但它必须是最后一次出现的“;”在“构建/”之前。

此刻我有以下表达:

var match = navigator.userAgent.match(/;[\s\S]*Build/)[0];

问题是,我的表达式采用第一个分号和 INCLUDES“Build/”之间的所有内容。所以我得到:

"; U; Android 4.0.2; en-us; Galaxy Nexus Build"

有谁知道如何让我的表达更智能以获得“Galaxy Nexus Build”?

最佳答案

您可以测试:

var txt = "Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30";
var regex = /;\s*([^;]+)\s+Build\//g;
var match = regex.exec(txt)[1];
alert("#" + match + "#");

http://jsfiddle.net/7AMrt/

关于javascript - RegEx:将 Android 设备名称与 JavaScript 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17659845/

相关文章:

javascript - 如何保护 JavaScript API 访问 token ?

java - 如何将 "á"等字符替换为相应的英文字母

c# - 验证日期的正则表达式 - C#

c# - 正则表达式匹配任何单词组合但不匹配单个小数

javascript - 为什么我的悬停效果和图像上升和下降的速度不同?

javascript - Windows 8 网页设计

android - 无法使用 Android Studio 1.3 进行编译,gradle 表示已定义资源

java - 将自己的应用程序添加到 Whatsapp 音频选择中

javascript - 将 Canvas 的一部分裁剪到另一个 Canvas 对象中

android - 当用户点击我的通知时,我想在那里显示一个 AlertDialog