前端浏览器及正则判断

如何判断用户使用的浏览器

通过navigator.userAgent。对于QQ和微信内置浏览器同样使用。

QQ内置浏览器
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
微信内置浏览器
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) {
  //单独判断QQ内置浏览器 
  alert("QQ APP 内置浏览器,做你想做的操作");
}
if (url.indexOf("micromessenger") > -1) {
  //单独判断微信内置浏览器
  alert('微信内置浏览器,做你想做的操作');
}
if (url.indexOf("15b202") > -1) {
  //判断微信内置浏览器,QQ内置浏览器
  alert("QQ和微信内置浏览器,做你想做的操作");
}

各种正则判断

大陆身份证

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('验证通过');
} else {
  console.log('验证不通过');
}

邮箱

const email = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/

密码正则:

密码正则,以字母开头,长度在6~18之间,只能包含字母、数字和下划线

let isTrue =^[a-zA-Z]\w{5,17}$;

强密码正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

let isTrue = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;

QQ号码正则:

let isTrue = /^[1-9][0-9]{4,10}$/;

微信号码正则:

// 微信号正则,6至20位,以字母开头,字母,数字,减号,下划线

let isTrue = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;

特殊字符检测正则:

let isTrue= /["'<>%;)(&+]+-!!@#$~/;

域名正则:

let isTrue=[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?;    

车牌号码正则:

let isTrue = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

包含中文正则:

let isTrue = /[\u4E00-\u9FA5]/;

// 这个可以用于验证用户的真实姓名。

护照正则:

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}/;

经纬度正则

//经度正则

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)$/;
```

你可能感兴趣的:(前端浏览器及正则判断)