1. 获取url中"?"符后的字符串并正则匹配
var reg = new RegExp('(^|&)参数名=([^&]*)(&|$)', 'i')
var r = window.location.search.substr(1).match(reg)
2. 身份证格式正则表达式
var idCardReg = /^[1-9]\d{5}(19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i;
3.身份证号前两位代表的区域
var city = {
11: '北京',
12: '天津',
13: '河北',
14: '山西',
15: '内蒙古',
21: '辽宁',
22: '吉林',
23: '黑龙江 ',
31: '上海',
32: '江苏',
33: '浙江',
34: '安徽',
35: '福建',
36: '江西',
37: '山东',
41: '河南',
42: '湖北 ',
43: '湖南',
44: '广东',
45: '广西',
46: '海南',
50: '重庆',
51: '四川',
52: '贵州',
53: '云南',
54: '西藏 ',
61: '陕西',
62: '甘肃',
63: '青海',
64: '宁夏',
65: '新疆',
71: '台湾',
81: '香港',
82: '澳门',
91: '国外 '
};
4. 18位身份证需要验证最后一位校验位
var code = '你的18位身份证号'
code = code.split('')
// ∑(ai×Wi)(mod 11)
// 加权因子
var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
// 校验位
var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]
var sum = 0
var ai = 0
var wi = 0
for (var i = 0
ai = parseInt(code[i])
wi = factor[i]
sum += ai * wi
}
var last = parity[sum % 11]
if (last.toString() !== code[17]) {
console.log('校验没通过。。。。')
} else {
console.log('校验通过。。。。')
}
5. 正则手机号匹配规则
var mPattern = /^(?:0|86|\+86)?1[3456789]\d{9}$/
6. 用正则表达式实现html转码
function htmlEncodeByRegExp(str) {
var s = '';
if (str.length == 0) return '';
s = str.replace(/&/g, '&');
s = s.replace(/</g, '<');
s = s.replace(/>/g, '>');
s = s.replace(/\s/g, ' ');
s = s.replace(/\'/g, ''');
s = s.replace(/\"/g, '"');
s = s.replace(/“/g, '“');
s = s.replace(/”/g, '”');
return s;
}
7. 用正则表达式实现html解码
function htmlDecodeByRegExp(str) {
var s = ''
if (str.length == 0) return ''
s = str.replace(/&
s = s.replace(/<
s = s.replace(/>
s = s.replace(/ 
s = s.replace(/&
s = s.replace(/"
s = s.replace(/&ldquo
s = s.replace(/&rdquo
return s
}
8. 普通数组去重 可以去NaN,不能去重复杂数组类型
/**
* 普通数组去重 可以去NaN,不能去重复杂数组类型
* @param arr
* @returns []
*/
function simpleUnique(arr) {
var map = new Map()
var newArr = []
arr.forEach(function (item) {
if (!map.has(item)) {
map.set(item, 1)
newArr.push(item)
}
})
return newArr
}
9. 匹配 html p 标签中的内容
let res = `<a jkads="asd">12332342</a>`.match(/<a[^>]*>([\s\S]*?)<\/a>/)
持续更新中。。。。