# 一些常用工具类
# 判断是不是IOS
// 判断是不是IOS
export function isIOS() {
const ua = window.navigator.userAgent;
return !!(/(iPhone|iPod|iPad);?/i.exec(ua));
}
const isIos = isIOS();
1
2
3
4
5
6
7
2
3
4
5
6
7
# 判断是不是Android
// 判断是不是Android
export function isAndroid() {
const ua = window.navigator.userAgent;
return !!(/android/i.exec(ua));
}
const isAndroid = isAndroid();
1
2
3
4
5
6
7
2
3
4
5
6
7
# 获取ios系统版本
// 获取ios系统版本
export function getIosVerStr() {
const userAgent = navigator.userAgent;
const reg = /CPU iPhone OS (.*?) like Mac OS/i;
const verMatch = reg.exec(userAgent);
if (verMatch) {
const verStr = verMatch[1];
return verStr!.replace(/_/g, '.');
}
return '';
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 判断是否低于某个版本
// 判断是否低于某个版本
export function isVerLessThan(ver, compareVer) {
const verArr = ver.split('.');
const compareVerArr = compareVer.split('.');
const minLength = Math.max(compareVerArr.length, verArr.length);
for (let i = 0; i < minLength; i++) {
if (verArr[i] < compareVerArr[i]) {
return true;
}
else if (verArr[i] > compareVerArr[i]) {
return false;
}
}
return false;
}
const iosVer = getIosVerStr();
const isIosLow = isVerLessThan(iosVer, '13.4');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# queryParser
export const queryParser = query => {
if (!query) {
return {};
}
const pairs = query.split('?')[1].split('&');
return pairs.reduce((previous, current) => {
const [key, value = ''] = current.split('=');
return {
...previous,
[key]: value
};
}, {});
}
const query = queryParser(window.location.search);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# obj2param
export function obj2param(obj) {
return Object.keys(obj).map(key => `${key}=${obj[key]}`).join('&');
}
1
2
3
2
3
# param2obj
export function param2obj(search) {
return search.substr(1).split('&').reduce((pre, cur) => {
const [name, val] = cur.split('=');
if (typeof (name) !== 'undefined' && typeof (val) !== 'undefined') {
pre[name] = val;
}
return pre;
}, {});
}
const searchParams = param2obj(window.location.search);
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
← 一些证件校验规则