判断IOS系统的版本号用到了JS中的userAgent,JS代码如下:
navigator.userAgent.toLowerCase()userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。
取出协议头之后,我们可以使用正则表达式进行获取
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
var str= navigator.userAgent.toLowerCase()var ver=str.match(/cpu iphone os (\d+)\_(\d+) like/)
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
参数
searchvalue 规定要检索的字符串值。
regexp 规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
判断IOS版本号代码:
<html><meta charset="UTF-8"/>
<body>
<script type="text/javascript">
var str= navigator.userAgent.toLowerCase()
var ver=str.match(/cpu iphone os (.*?) like mac os/)
if(!ver){
alert("请在Ios系统中打开")
}else{
alert("你当前的Ios系统版本为:"+ver[1].replace(/_/g,"."))
}
</script>
</body>
</html>
注:replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
参数:
regexp/substr 规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象
replacement 一个字符串值。规定了替换文本或生成替换文本的函数。
上面代码中的/g代表的含义是:如果regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串,上述代码将HTTP协议头中的"9_3_2"转为"9.3.2"