『壹』 JS怎麼判斷ios系統的版本號
判斷IOS系統的版本號用到了JS中的userAgent,JS代碼如下:
navigator.userAgent.toLowerCase()
userAgent 屬性是一個只讀的字元串,聲明了瀏覽器用於 HTTP 請求的用戶代理頭的值。
取出協議頭之後,我們可以使用正則表達式進行獲取
正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。
varstr=navigator.userAgent.toLowerCase();
varver=str.match(/cpuiphoneos(d+)\_(d+)like/);
match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。
參數
searchvalue 規定要檢索的字元串值。
regexp 規定要匹配的模式的 RegExp 對象。如果該參數不是 RegExp 對象,則需要首先把它傳遞給 RegExp 構造函數,將其轉換為 RegExp 對象。
判斷IOS版本號代碼:
<html>
<metacharset="UTF-8"/>
<body>
<scripttype="text/javascript">
varstr=navigator.userAgent.toLowerCase();
varver=str.match(/cpuiphoneos(.*?)likemacos/);
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"
『貳』 求一個版本號的正則表達式,版本號的格式可以是1.1或1.1.2或10000這個樣子的
\d+(\.\d+){0,2}
解釋:
\d+ #匹配數字
(\.\d+) #匹配數字之後還有.數字
{0,2} #表示可以重復0-2次,匹配1.1和1.1.2的情況
如果想要匹配
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1這樣的情況,可以把{0,2}改成*不限數量
\d+(\.\d+)*
『叄』 正則表達式匹配分支號和版本號
String reg1="^Release[\\d\\._]+$";
String reg2="[\\d\\._]+\\-SNAPSHOT$";
『肆』 正則表達式:如何通過正則表達式區分軟體名與版本號
|按照你的要求復,寫的正制則表達式 ^(.+?s+)(((d+(.d+)*)|(BNd+)).*?)$
完整的Python語言的程序如下
#!/usr/bin/python
importre
a='Microsoft.NETFramework3.5.1 HPNetworkAutomation9.1X 2345安全衛士SecurityGuard3.7 IntelBN0049 .2.699build1001 MicrosoftWindows101703'
regex_str=r'^(.+?s+)(((d+(.d+)*)|(BNd+)).*?)$'
it=re.finditer(regex_str,a,re.I|re.M)
formatchinit:
print(match.group(1)+"|"+match.group(2))
『伍』 正則表達式,驗證版本
var reg=/^[0-9]\.[0-9]\.[0-9]{3}$/;
不限制長度什麼意思, 如果格式就是x.x.xxx 那上邊的正則就可以,如果要其他樣子的,可以追問
『陸』 0.0.0.0--9.9.9.9{7}的正則表達式總共是7位數的版本號
不是很清楚,你能寫個舉個版本號的例子嗎?
正則:(\d\.){3}\d
java中
"0.0.0.21".matches("(\\d\\.){3}\\d")
返回boolean