如何判斷用戶使用的瀏覽器
通過navigator.userAgent。對(duì)于QQ和微信內(nèi)置瀏覽器同樣使用拗馒。
QQ內(nèi)置瀏覽器
mozilla/5.0 (iphone; cpu iphone os 11_1_2 like mac os x) applewebkit/604.3.5 (khtml, like gecko) mobile/15b202 qq/7.5.8.422 v1_iph_sq_7.5.8_1_app_a pixel/1080 core/uiwebview device/apple(iphone 8plus) nettype/wifi qbwebviewtype/1
微信內(nèi)置瀏覽器
mozilla/5.0 (iphone; cpu iphone os 11_1_2 like mac os x) applewebkit/604.3.5 (khtml, like gecko) mobile/15b202 micromessenger/6.6.6 nettype/wifi language/zh_cn
火狐
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:59.0) Gecko/20100101 Firefox/59.0
Chrome
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
safari
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30
show code:
const url = navigator.userAgent.toLowerCase();
if (url.indexOf("15b202 qq") > -1) {
//單獨(dú)判斷QQ內(nèi)置瀏覽器
alert("QQ APP 內(nèi)置瀏覽器,做你想做的操作");
}
if (url.indexOf("micromessenger") > -1) {
//單獨(dú)判斷微信內(nèi)置瀏覽器
alert('微信內(nèi)置瀏覽器,做你想做的操作');
}
if (url.indexOf("15b202") > -1) {
//判斷微信內(nèi)置瀏覽器,QQ內(nèi)置瀏覽器
alert("QQ和微信內(nèi)置瀏覽器,做你想做的操作");
}
各種正則判斷
大陸身份證
const input = '123456789123345';
const key = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
const isTrue = key.test(input); // false
if (isTrue) {
console.log('驗(yàn)證通過');
} else {
console.log('驗(yàn)證不通過');
}
郵箱
const email = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/
密碼正則:
密碼正則雷则,以字母開頭辆雾,長(zhǎng)度在6~18之間,只能包含字母月劈、數(shù)字和下劃線
let isTrue =^[a-zA-Z]\w{5,17}$;
強(qiáng)密碼正則度迂,最少6位,包括至少1個(gè)大寫字母猜揪,1個(gè)小寫字母惭墓,1個(gè)數(shù)字,1個(gè)特殊字符
let isTrue = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
QQ號(hào)碼正則:
let isTrue = /^[1-9][0-9]{4,10}$/;
微信號(hào)碼正則:
// 微信號(hào)正則而姐,6至20位腊凶,以字母開頭,字母拴念,數(shù)字钧萍,減號(hào),下劃線
let isTrue = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
特殊字符檢測(cè)正則:
let isTrue= /["'<>%;)(&+]+-!政鼠!@#$~/;
域名正則:
let isTrue=[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?;
車牌號(hào)碼正則:
let isTrue = /^[京津滬渝冀豫云遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陜吉閩貴粵青藏川寧瓊使領(lǐng)A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9掛學(xué)警港澳]{1}$/;
包含中文正則:
let isTrue = /[\u4E00-\u9FA5]/;
// 這個(gè)可以用于驗(yàn)證用戶的真實(shí)姓名风瘦。
護(hù)照正則:
let isTrue=/^(P\d{7}|G\d{7,8}|TH\d{7,8}|S\d{7,8}|A\d{7,8}|L\d{7,8}|\d{9}|D\d+|1[4,5]\d{7})$/;
固定電話正則:
let isTrue=/(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}/;
IP地址正則:
let isTrue=/\d+\.\d+\.\d+\.\d+/;
郵政編碼正則:
let isTrue=/[1-9]{1}(\d+){5}/;
經(jīng)緯度正則
//經(jīng)度正則
let isTrue=/^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/;
// 緯度正則
let isTrue=/^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/;
```