[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