[TOC]
## 1.备选字符集:规定某一位字符的备选字符列表
```
特点:必须且只能多选一
eg:上天,上海
上[天海]
将字符串中的上海,上天两个字符换成**
```
```
var str ="上海,上天,上去,上哪"
var reg =/上[海天]/g;
console.log(str.replace(reg,"**"));
```
### 1.1备选字符的unicode号连续
```
//一个数字
[0-9]//一个小写字母
[a-z]//一个大写字母
[A-Z]//一个数字或字母
[0-9a-zA-Z]
```
## 2.预定义字符集:针对常用的备选字符集提供的简化符号
```
//一位数字
[0-9] --> \d
//一位数字字母或下划线
[0-9a-zA-Z_] -->\w
\s //1位空字符:空格,tab,换行
. // 除换行外,其余所有字符
```
## 3.量词:定字符集出现的次数
> 特点:默认一个量词,仅修饰左侧紧邻的字符集
### 3.1 确定数量:
```
{m,n} -->至少m个,最多n个
{m,} -->m个以上
{m} -->必须m个
```
### 3.2 不确定数量
```
? -->一个或0个
+ -->1个以上
* -->多个或没有
```
## 4.test() 方法用于检测正则表达式是否匹配字符串的一部分,返回boolean值
语法reg.test(str); 返回boolean值
```
var reg =/\d{5,9}/;
var str = "323232hell";
console.log(reg.test(str)); //true
```
## 5.贪婪模式和懒惰模式
### 贪婪模式
```
var str = "123456abc";
var reg = /\d{3,6}/;
console.log(str.replace(reg,"*"))
```
### 懒惰模式?
```
var str = "123456abc";
var reg = /\d{3,6}?/;
console.log(str.replace(reg,"*"))
```
## 6. 选择和分组
```
//选择
| 读作"或"
//分组
()
转义字符\
```
```
var a ="hello\"";
console.log(a); \\hello"
手机号:+86或0086 可有可无,最多1个
空字符 不限制个数
1
3,4,5,7,8 选其一
9位数字
(\+86|0086)?\s*1[34578]\d{9}
```
## 7. 指定匹配位置
开头和结尾:^开头的xxx;$结尾的xxx
何时使用:仅匹配开头的规则和结尾的规则时使用
固定搭配:^正则表达式$-->表示从头到尾完整匹配
开头和结尾只出现正则表达式的内容
何时使用:只要验证时,必须前加^,后加$!
```
//匹配字符串开头的所有空字符
^\s+
//匹配字符串结尾的所有空字符
\s+$
var a =" hello";
var reg =/^\s+/;
var str =a.replace(reg,"");
console.log(str);
```
## 8. 排除
```
//除了abc
[^abc]
```
- 效果实例
- 1.点击增加高度
- 2.tab页面切换
- 3. 列表切换
- 4. 隔行变色
- 5. swiper 轮播
- 6.vue
- 7.定时器
- 8. 向表格中添加数据
- 9 瀑布流
- 1.JavaScript基础
- 1. 变量
- 2. 调试
- 3.数据类型
- 4.转换
- 5.控制语句
- 6.运算
- 7. this
- 8 JSON对象和javascript对象的相互转换
- 2.JavaScript的控制语句
- 1. 基本控制语句
- 2.节点
- 2.1DOM补充
- 3. 函数
- js的模块化如何解决
- 不知道有什么用的
- 4.数组
- 5. String
- 补充
- 6.Ajax
- 1. 原生Ajax
- 2. HTTP/get/post
- 3.jQuery-Ajax
- 4.跨域
- 5.axios
- 6.封装
- Ajax效果
- ajax补充
- 7. 正则
- 1.创建正则表达式
- 2. 正则的api
- 3.正则语法
- 4.例子
- 量词
- 8.面向对象
- 1.原型
- ES6
- 模块化
- 1.回调地狱
- 什么是回调地狱
- 简单封装
- promise解决回调地狱
- generator解决回调地狱
- async解决回调地狱
- 2.封装
- Ajax,promise
- JavaScript难点
- 1. 闭包/作用域
- 2.原型链
- 3. 兼容性
- 适配
- JavaScript小效果
- 字符串截取