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.
/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"这个词.