Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript中的用户代理信息获取设备名称_Javascript_Jquery_Regex - Fatal编程技术网

从JavaScript中的用户代理信息获取设备名称

从JavaScript中的用户代理信息获取设备名称,javascript,jquery,regex,Javascript,Jquery,Regex,我知道关于这个话题有很多问题,但没有一个对我有帮助。我知道,我无法通过类似iPhone之类的JavaScript获取设备 因此,当我运行此命令时: navigator.userAgent 我得到了这个结果: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" 现在,我想提取开头括号后的第一个单词Ma

我知道关于这个话题有很多问题,但没有一个对我有帮助。我知道,我无法通过类似iPhone之类的JavaScript获取设备

因此,当我运行此命令时:

navigator.userAgent
我得到了这个结果:

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"

现在,我想提取开头括号后的第一个单词
Macintosh
,并将其存储在变量中。例如,我如何使用RegEx来实现这一点?

RegExp是关于定义模式的逻辑的。这意味着您需要确定它的字符串格式才能工作

例如,在您发布的示例中,也许我们将要匹配的位定义为:

  • “第一个开头括号后的第一个单词”
在这种情况下:

navigator.userAgent.match(/^[^\(]+\((\w+)/);

嗯,为什么不试试呢?因为我不知道如何使用正则表达式,如果这是可能的,当然是可能的。RegExp是模式匹配,正是针对这种情况。所以第一件事是做一个RegExp教程。([a-zA-Z]+;)这是我得到的,但是我如何才能得到;退出?这将返回以前的所有内容;但我只需要Macintosh,所以可能有一个错误,但我会尝试你的答案。谢谢你的帮助。匹配的第一个元素将始终返回整个匹配,但第二个元素([1])将只是Macintosh。哦,好的,我理解。现在我如何访问最后一个元素呢?很明显,
match()
返回一个数组。