创建正则表达式
方式1:
// 创建正则对象 1.正则表达式 2.匹配模式
var reg = new RegExp("ab","i");
var str = "Abc";
console.log(reg.test(str));
方式2:
// 字面量创建正则表达式
var reg = /ab/i;
正则量词
() 表示整体
{n} 正好出现n次
// /(ab){3}/ ab 出现三次(abababbc) >>> true
{m,} 最少出现m次 最多无上限
{m,n} 最少出现m次 最多n层
+ 至少出现一次
* 0个 或者 多个 {0,}
? 0个或者一个 {0,1}
\. 表示 .
\\ 表示 \
/^开始 $结束/
\w 表示 字母 数字 _ 类似 [A-z0-9_]
\W 表示 除了字母 数字 _ [^A-z0-9_]
\d 表示 任意的数字 [0-9]
\D 表示 除了 任意的数字 [^0-9]
\s 空格
\S 除了空格
\b 单词边界
\B 除了单词边界
示例
// 判断 字符串中是否包含字母a-z
//[a-e] a到e之间的内容
//[A-Z] A到Z之间的内容
//[A-z] 任意字母
//[0-9] 任意数字
//[bev] bev是或者关系
// 检查一个字符串 是否 包含 abc aec avc
var reg = /a[bev]c/
//[^A-z] 除了任意的字母
//[^a-z] 除了任意的小写字母
//[^A-Z] 除了任意的大写字母
//[^0-9] 除了任意的数字
var reg = /[^A-z]/
var str = '#';
console.log(reg.test(str));
// 字符串拆分 (通过正则)
var str = "1a2b3c4d5e6f8t9y7";
var result = str.split(/[A-z]/);
console.log(result)
// 字符串 搜索 返回遇到第一个符合正则的字符串下标
var str = 'hello atc hello aec afc';
var result = str.search(/a[bef]c/);
console.log(result)
// 通过正则表达式 提起符合条件的内容
var str = "1a2b3c4d5e6f8t9y7AUHJKSUR";
var result = str.match(/[a-z]/ig);
console.log(result);
//通过在正则替换字符串中的指定内容
var str = "1a2b3c4d5e6f8t9y7AUHJKSUR";
// 1.要被替换的内容 2.新的内容
var result = str.replace(/[a-z]/gi,'$');
console.log(result);
//除了任意的数字
var str = 'e';
var reg = /^\D$/
console.log(reg.test(str));
// 去除字符中中的前后空格
var str = " hello zhangsan ";
var reg = /^\s*|\s*$/g
console.log(str.replace(reg,""))
// 检查一个字符串中时候含有zhangsan
var str = "hello zhangsan";
var reg = /\bzhangsan\b/;
console.log(reg.test(str))
// 检查邮箱
//1533925332.6@163.com.cn
var emailStr = "1533925332.6@163.com.cn";
var emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,3}){1,2}$/;
console.log(emailReg.test(emailStr));
let phomeReg = /^1[3-9][0-9]{9}$/; //手机号
/^[\u4e00-\u9fa5]$/ //汉字