正则表达式RegExp
创建正则:
//创建正则表达式
var re = New RegExp("123")
var re = /123/
正则表达式符号
^开头 | + 匹配一位或者多位 同{1,} |
$结尾 | ? 匹配0位或者1位 同{0,1} |
[ ]范围 例如[0-9a-z] | . 匹配所有 |
{}位数 例如{5,13} 5-13位 | \ 转义 |
( )分组 例 /^(\d{4})-(\d{2})-(\d{2})$/ | \d 数字 |
\w 数字 字母 下划线 | \s 空格或者换行 |
检查是否匹配
检查是否匹配成功 返回true或者float .test();
检查是否匹配成功并且返回匹配内容 .exec();
// 检查是否匹配成功
var re = "L_yang@163.com";
var exp = /^\w{5,13}@163\.com$/;
if(exp.test(re)){
console.log("验证成功");
}else{
console.log("验证失败");}
// 检查匹配是否成功并返回匹配内容
var date = "2022-08-05"
var str = /^(\d{4})-(\d{2})-(\d{2})$/;
var result = str.exec(date);
结尾特殊符号
g | 全局匹配 |
i | 忽略大小写 |
m | 多行查找 |
ig/gi | 全局忽略大小写查找 |
var re = /[a-zA-Z]/g
// 全局匹配
功能实现 邮箱查找 截取字符串 字符串替换
// 邮箱验证功能
var re = "L_yang@163.com";
var exp = /^\w{5,13}@163\.com$/;
if(exp.test(re)){
console.log("验证成功");
}else{
console.log("验证失败");
}
、
//截取字符串
var date = "2022-08-05"
var str = /^(\d{4})-(\d{2})-(\d{2})$/;
var result = str.exec(date);
console.log(result[1] + "年");
console.log(result[2] + "月");
console.log(result[3] + "日");
var time = new Date();
var a = time.getDay();
console.log("今天是周"+ a);
//字符串替换 replace
var str = "123abc456def"
var re = /[a-zA-Z]/g //g全局匹配 i忽略大小写 m多行匹配 ig/gi 忽略大小写全局匹配
var result = str.replace(re,"")
console.log(result)