正则表达式
匹配模式
i:忽略大小写
g:全局匹配
ig:忽略大小写全局匹配
m:执行多行匹配
// 方式一: 创建正则对象 1.正则表达式 2.匹配模式
var reg = new RegExp("ab","i");
var str = "Abc";
console.log(reg.test(str));
// 方式二:字面量创建正则表达式
var reg = /a/i; // 包含a
//语法 :| 表示或者的含义
var reg = /a|b|c/; // 包含a或b或c
[a-e]
:判断字符串中是否包含字母a-z
// 判断 字符串中是否包含字母a-z
//[a-e] a到e之间的内容
var reg = /[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);
正则量词
// ()表示整体,{n}表示正好出现n次
var reg = /(ab){3}/; // ab出现三次 'abababc' --->true
// {m,} 最少出现m次,无上限
var reg = /a{3,}/;
// {m,n} 最少出现m次,最多出现n次
var reg = /a{3,5}/;
// + 至少出现一次
var reg = /a+/;
// * 0个或者多个
var reg = /a*/;
// ? 0个或者一个
var reg = /a?/;
// \w 表示 字母 数字 _ 类似 [A-z0-9_]
var reg = /^\w$/
正则表达式例子:
//验证用户密码,长度6~18位,只能包含英文和数字
var str = 'dsakj11';
var pwdReg = /^[A-z0-9]{6,18}$/;
console.log(pwdReg.test(str));
// 身份证号码正则
var IDReg = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;