###实例
就是如果正则中出现了反斜杠 “\” ,在用构造函数时创建正则对象时,要转义,比如: re = new RegExp("\w+") // 这里的 \ 要转义,re = /\w+/ // 这样就不需要转义;
1、替换url中字符参数拼接
let url = "http://demo.bitech.cn/zjdcommunityoa.dingtalk/#/info?param=:approval/details?ProjectID=1876125382869043&IsEdit=1";
let reg = new RegExp("(^.+/#/)info\\?param=:approval/details\\?ProjectID=(.*)\&.+=(.*)");
if (reg.test(url)) {
let replaceurl = url.replace(reg, `$1info/approval/detail/$2/$3`);
console.log("replaceurl", replaceurl);
// http://demo.bitech.cn/zjdcommunityoa.dingtalk/#/info/approval/detail/1876125382869043/1
}
2、手机号判断
const CELLPHONE_REGEXP = /^1[3|4|5|6|7|8|9][0-9]{9}$/;
3、邮箱判断
/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
4、千位分隔
let reg = new RegExp("\\d{1,3}(?=(\\d{3})+$)", "g");
console.log("result", "999889663215".replace(reg, "$&,"));
5、手机号敏感处理
"13262786327".replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'
6、敏感词替换
"草,今天真是见了鬼了".replace(/cao|草|他妈的/g, (str) => {
let result = "";
for (let i = 0; i < str.length; i++) {
result += "*";
}
return result;
})
7、密码校验
(1)
let pwdRegex=/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,}$/;
let pwdRegex = new RegExp('^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,}$');
正则表达式意思为 不能为纯数字,不能为纯小写字母,不能为纯大写字母,不能为纯特殊符号,至少8-16位。 细拆分为 (?![0-9]+$) 表示后面不能为纯数字
(?![a-z]+$) 表示后面不能为纯小写字母
(?![A-Z]+)表示后面不能为纯大写字母(?!([(0−9a−zA−Z)])+$)表示后面不能为纯大写字母
(?!([(0−9a−zA−Z)])+) 表示后面不能为除数字和字母外的纯特殊符号
^ 这个符号单独用表示“开头”,用在中括号的开头,表示“非”;
.{6,} 表示至少6位的任意字符
$ 表示“结尾”
(2)
let pwdRegex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,10}')
pwdRegex.test(data.password) // true符合校验规则 false不符合校验规则
密码中必须包含大小写 字母、数字、特称字符,至少6个字符,最多10个字符;