/ipad/i.test()语法如何工作?

use*_*539 9 javascript regex syntax

我是/ipad/i.test(navigator.userAgent.toLowerCase())语法新手.我知道它对于ipad返回true的结果,对于剩余的浏览器,它返回false.

请任何机构解释/ipad/i它的含义和工作原理

Azi*_*ikh 12

这是一个更简单的细分/ipad/i.test(navigator.userAgent.toLowerCase()):

var myRegex = new RegExp("ipad", "i");;
var result = myRegex.test(navigator.userAgent.toLowerCase());
Run Code Online (Sandbox Code Playgroud)

RegExp是JavaScript的RegExp对象的构造函数.

ipad使用i标志创建一个正则表达式来匹配字符串,该标志告诉RegExp对象忽略要匹配的字符串的大小写.正则表达式是用于匹配字符串中的字符组合的模式.

然后test()调用RegExp 的方法,并将浏览器的useragent字符串传递给它.test()方法尝试匹配useragent字符串ipad,如果找到true将返回.工作演示:http://jsfiddle.net/8mzTE/.

用户代理字符串标识您的浏览器并提供其详细信息:

当您访问网页时,浏览器会将用户代理字符串发送到托管您正在访问的网站的服务器.此字符串指示您正在使用的浏览器,版本号以及有关系统的详细信息,例如操作系统和版本.Web服务器可以使用此信息提供针对特定浏览器定制的内容.

在JavaScript中,可以使用forragent字符串访问navigator.userAgent.


Sal*_*n A 8

/ipad/i是一个JavaScript Regular Expression文字,匹配包含的任何字符串ipad(i最后是一个执行不区分大小写的比较的指令).test()如果匹配,则该方法返回true.

正则表达式有多种语言版本(PERL,PHP,JavaScript等),它们主要用于将字符串与简单到复杂的模式匹配.

navigator是一个全局对象,它包含有关运行脚本的应用程序(例如浏览器)的信息.navigator.userAgent包含用户代理字符串.对于iPad,用户代理字符串如下所示:

Mozilla/5.0(iPad ; CPU OS 4_3_2,如Mac OS X; en-us)AppleWebKit/533.17.9(KHTML,与Gecko一样)Version/5.0.2 Mobile/8H7 Safari/6533.18.5

你会注意到它中含有"iPad"这个词.