[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个以上
* -->多个或没有
~~~
test() 方法用于检测正则表达式是否匹配字符串的一部分,返回boolean值
语法reg.test(str); 返回boolean值
~~~
var reg =/\d{5,9}/;
var str = "323232hell";
console.log(reg.test(str)); //true
~~~
贪婪模式和懒惰模式
贪婪模式
~~~
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,"*"))
~~~
## 4. 选择和分组
~~~
//选择
| 读作"或"
//分组
()
~~~
~~~
转义字符\
var a ="hello\"";
console.log(a); \\hello"
~~~
~~~
手机号:+86或0086 可有可无,最多1个
空字符 不限制个数
1
3,4,5,7,8 选其一
9位数字
(\+86|0086)?\s*1[34578]\d{9}
~~~
## 5. 指定匹配位置
~~~
开头和结尾:^开头的xxx;$结尾的xxx
~~~
>何时使用:仅匹配开头的规则和结尾的规则时使用
固定搭配:^正则表达式$-->表示从头到尾完整匹配
开头和结尾只出现正则表达式的内容
何时使用:只要验证时,必须前加^,后加$!
~~~
//匹配字符串开头的所有空字符
^\s+//匹配字符串结尾的所有空字符
\s+$
~~~
~~~
var a =" hello";
var reg =/^\s+/;
var str =a.replace(reg,"");
console.log(str);
~~~
## 6. 排除
~~~
//除了abc
[^abc]
~~~
- JS入门教程
- 第1章 JS基本语法
- 练习
- 1.1 补充教程
- 第一节 拓展
- 第2章 控制语句DOM,BOM,事件
- 第一节 错误机制
- 第二节 拓展
- 第三节 事件
- 1-1 事件流
- 1-2 事件处理程序
- 1-2-1 事件获取form-input的值
- 1-2-2DOM0 级事件处理程序
- 1-2-3 DOM2级事件处理程序
- 第四节 if-else
- 第3章 DOM拓展
- 第一节 DOM
- 1.1 补充
- 第二节 DOM02
- 第三节 总结
- 1.节点层次
- 第4章 函数
- 第一节 函数就是值
- 第二节 函数的参数
- 第三节 对象的方法
- 第四节 改变this
- 第5章 数组
- 第一节 数组的方法
- 1.1 创建数数组
- 1.2增删改查的方法
- 1.3数组检查
- 1.4二维数组
- 1.5获取数组中最大的值
- 第二节 数组拓展
- 1.1数组constructor 属性
- 1.2prototype属性
- 1.3获取数组中最大值的方法
- 1.4补充展开语法
- 1.5from对数组迭代
- 1.6遍历
- 1.7 数组下标集合,值的下标
- 第三节 拓展
- 第四节 瀑布流代码实现
- 第6章 基本类型和引用类型的区别
- 第7章 字符串
- 第8章 JS内置对象
- 第9章 动画
- 第10章 正则
- 第一节 创建正则表达式
- 第二节 string中支持正则的api
- 第三节 正则对象的属性
- 拓展学习资料
- 第四节 语法
- 第五节 例子
- 5-1 获取一串字符串中的数字
- 第11章 ajax
- 第一节 原生ajax
- 第二节 http,get,post
- 第三节 跨域
- 3-1 http-server跨域
- 3-2 koa-跨域
- 第四节 jquery-ajax
- 4-1 $.ajax
- 第五节 axios
- 第12章 面向对象
- 第一节 原型
- 第二节 原型链,继承
- 第三节 多态
- 第四节 ajax-http
- 4-1 静态方法http
- 第13章 cookie,LocalStorage,sessionStorage
- 13-1
- 第14章 erros
- 第15章 koa-router
- 第16章 模板化
- JS拓展教程
- 第一章 JS基础
- 第三章 高级语法
- 2-1 闭包
- JS工具
- 第一章 百度地图
- js框架
- mock.js
- JS特效
- 1.简书点击div,滚动到顶部
- 2.jquery 点击a缓慢跳转到对应ID
- 3.获取滚动条距离顶部的高度
- 第二阶段项目
- 2-1.豆瓣数据到mongDB