欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-16 14:42:32
...
用PHP实现UA白名单,需要能够匹配基本上所有的浏览器和主要的搜索引擎蜘蛛UA的正则。
可能这个问题比较复杂,我看看这里有没有人能解决。

回复内容:

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

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)
};

供你参考一下,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