目录
01正则的基本使用
正则分类:
普通字符+元字符
创建正则对象
1.new创建
var reg=new RegExp(/正则规则/)
2.字面量创建
var reg=/正则规则/
02 正则的五大类的使用
1.预定义类
var reg= /./ ; 匹配任意字符(除了回车和换行)
var reg=/\d/ ; 匹配数字字符
var reg=/\D/ ; 匹配的是非数字字符
var reg=/\s/ ; 空白字符 \r \n \t \f
var reg=/\S/ ; 匹配非空白字符
var reg=/\w/ ; 单词字符 数字 大小写字母 下划线
var reg=/\W/ ;非单词字符
重点是: \d \w
2.简单类
var reg=/[abc]/; abc其中之一
var reg=/[ABC]/;ABC其中之一 严格区分大小写
3.负向类
var reg=/[^abc]/ 除了abc其他所有
4.范围类
var reg=/[a-z]/ ; a到z之间小写字母其中之一都可以
5.组合类
var reg=/[a-z\d]/ 包含中括号中内容之一即可
03 正则边界的使用
/^ 表示开头
$/ 表示结尾
/^$/ 表示固定匹配
例:
1. var reg=/^\d[a-z]/ 表示数字开头 从第二个字符开始是a-z之间的任意字符
2. var reg=/\w$/ 表示以单词字符 数字 大小写字母 下划线 任意一个结尾
3.var reg=/^[abc]$/ 表示abc只能出现之一
4. var reg=/^\w\d/ 表示长度是2 第一位是单词字符 第二位是数字字符
04 正则量词的使用
1. 预定义量词
* 0到任意次
? 0或者1次
+ 至少一次
2.自定义量词
{n} 恰好是n次
{n,} 至少n次
{n,m} n到m次 包含m次
例:
var reg=/^[abc]*$/; 表示abc可以出现0次到任意次
var reg=/^[abc]?$/;
表示abc只能出现0次或者1次返回ture 出现的次数超过一次就返回false
var reg=/^[abc]+$/; 表示abc至少出现一次
var reg=/^[abc]{3}$/; 表示abc出现的次数恰好是3次
var reg=/^[abc]{3,}$/; 表示abc出现的次数至少是3次
var reg=/^[abc]{3,5}$/;表示abc出现的次数在3到5之间返回true 字符串里只能有abc
05 正则表达式案例
1.验证手机号
要求第一位是1 第二位是3-9之间的任意数字 后九位数字任意
/^1[3-9]\d{9}$/
2.验证中文 使用unicode编码进行验证
// [\u4e00-\u9fa5]
3.匹配座机号
座机号分为
三位区号 010-88889999
四位区号0312-7891898
正则有|符号 表示多个正则在一起 只要匹配其中之一就可以了
三位区号的正则
/^0[12]\d-\d{8}$/
四位区号的正则
/^0\d{3}-\d{7}$/
座机号的正则:
/^0[12]\d-\d{8}$|^0\d{3}-\d{7}$/
06 字符串中关于正则的一些方法
g 表示整个字符串查找
i 表示忽略大小写
字符串中可以使用正则的方法:
1.替换:
str.replace(正则表达式,'新字符串') 表示值替换从头开始查找到的第一个
str.replaceAll(正则表达式,'新字符串') 表示替换全部
2.匹配
str.match(/正则表达式/g)
//将正则表达式匹配到的字符串放到伪数组中
str.matchAll(/\d+[a-z]+/g) //返回迭代器对象