Home  >  Article  >  Backend Development  >  匹配基本上所有浏览器的UserAgent以及主要搜索引擎蜘蛛的正则表达式是什么?

匹配基本上所有浏览器的UserAgent以及主要搜索引擎蜘蛛的正则表达式是什么?

WBOY
WBOYOriginal
2016-06-06 20:07:442388browse

用PHP实现UA白名单,需要能够匹配基本上所有的浏览器和主要的搜索引擎蜘蛛UA的正则。
可能这个问题比较复杂,我看看这里有没有人能解决。

回复内容:

用PHP实现UA白名单,需要能够匹配基本上所有的浏览器和主要的搜索引擎蜘蛛UA的正则。
可能这个问题比较复杂,我看看这里有没有人能解决。

<code>var userAgent = navigator.userAgent.toLowerCase();
// Figure out what browser is being used
jQuery.browser = {
    version: (userAgent.match( /.+(?:rv|it|ra|ie)[/: ]([d.]+)/ ) || [])[1],
    safari: /webkit/.test( userAgent ),
    opera: /opera/.test( userAgent ),
    msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
    mozilla: /mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)
};</code>

供你参考一下,http://www.bkjia.com/jQuery/449138.html
提高另外两个线索思路,
1.最早jQuery的实现中,关于UA的检测好像就是使用正则表达式检测的方式的,后来的兼容性代码用的是“测试”的方式;
2.《JavaScript高级程序设计》,印象中是有这样的代码的, 第三版的示例代码在 233页

补充一下:
这个网站可以查到绝大多数浏览器和搜索引擎蜘蛛的UA:http://www.useragentstring.com/pages/useragentstring.php
IE的UA说明:https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
FireFox的UA说明:https://developer.mozilla.org/en-US/docs/Browser_detection_using_the_user_agent
Chrome的UA说明:https://developer.chrome.com/multidevice/user-agent

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn