正則至少一個數字_JavaScript學習筆記(十七)-- 正則
阿新 • • 發佈:2020-12-11
技術標籤:正則至少一個數字正則驗證已某些字元開頭
正則
- 正則表示式,又名 “規則表示式”
- 由我們自己來書寫 “規則”,專門用來檢測 字串 是否符合 “規則” 使用的
- 我們使用一些特殊的字元或者符號定義一個 “規則公式”,然後用我們定義好的 “規則公式” 去檢測字串是不是合格
var
-
- 上面的變數
reg
就是定製好的規則 - 檢測
str1
這個字串的時候,符合規則 - 檢測
str2
這個字串的時候,不符合規則
- 上面的變數
建立一個正則表示式
- 想制定 “規則”,必須要按照人家要求的方式來制定
- 把一些字母和符號寫在
//
中間的東西,叫做正則表示式,比如/abcdefg/
- 建立正則表示式有兩個方式 字面量 和 建構函式建立
字面量建立
// 下面就是字面量建立一個正則表示式
- 這個正則表示式就可以去檢測字串了
建構函式建立
// 下面就是建構函式建立一個正則表示式
- 使用建構函式方式建立的和字面量建立的,得到的結果一樣
正則表示式裡面的符號
- 知道了怎麼建立一個正則表示式以後,我們就來詳細的說一下正則表示式裡面涉及到的一些符號了
元字元
.
: 匹配非換行的任意字元: 轉譯符號,把有意義的 符號 轉換成沒有意義的 字元,把沒有意義的 字元 轉換成有意義的 符號
s
: 匹配空白字元(空格/製表符/...)S
: 匹配非空白字元d
: 匹配數字D
: 匹配非數字w
: 匹配數字字母下劃線W
: 匹配非數字字母下劃線
- 有了元字元我們就可以簡單的制定一些規則了
var
限定符
*
: 前一個內容重複至少 0 次,也就是可以出現 0 ~ 正無窮 次+
: 前一個內容重複至少 1 次,也就是可以出現 1 ~ 正無窮 次?
: 前一個內容重複 0 或者 1 次,也就是可以出現 0 ~ 1 次{n}
: 前一個內容重複 n 次,也就是必須出現 n 次{n,}
: 前一個內容至少出現 n 次,也就是出現 n ~ 正無窮 次{n,m}
: 前一個內容至少出現 n 次至多出現 m 次,也就是出現 n ~ m 次
- 限定符是配合元字元使用的
// 下面正則表示驗證數字出現 0 ~ 正無窮次都可以
邊界符
^
: 表示開頭$
: 表示結尾
- 邊界符是限定字串的開始和結束的
// 下面表示從開頭到結尾只能有數字,並且出現 3 ~ 5 次
特殊符號
()
: 限定一組元素[]
: 字元集合,表示寫在[]
裡面的任意一個都行[^]
: 反字元集合,表示寫在[^]
裡面之外的任意一個都行-
: 範圍,比如a-z
表示從字母 a 到字母 z 都可以|
: 或,正則裡面的或a|b
表示字母 a 或者 b 都可以
- 現在我們就可以把若干符號組合在一起使用了
// 下面是一個簡單的郵箱驗證
標示符
i
: 表示忽略大小寫- 這個 i 是寫在正則的最後面的
/w/i
- 就是在正則匹配的時候不去區分大小寫
g
: 表示全域性匹配- 這個 g 是寫在正則的最後面的
/w/g
- 就是全域性匹配字母數字下劃線
正則表示式的方法
- 正則提供了一些方法給我們使用
- 用來檢測和捕獲字串中的內容的
test
test
是用來檢測字串是否符合我們正則的標準- 語法:
正則.test(字串)
- 返回值: boolean
console
exec
exec
是把字串中符合條件的內容捕獲出來- 語法:
正則.exec(字串)
- 返回值: 把字串中符合正則要求的第一項以及一些其他資訊,以陣列的形式返回
var
-
- 陣列第 0 項就是匹配到的字串內容
- index 屬性表示從字串的索引幾開始是匹配的到字串
字串的方法
- 字串中有一些方法也是可以和正則一起使用的
search
search
是查詢字串中是否有滿足正則條件的內容- 語法:
字串.search(正則)
- 返回值 : 有的話返回開始索引,沒有返回 -1
var
match
match
找到字串中符合正則條件的內容返回- 語法:
字串.match(正則)
- 返回值 :
- 沒有標示符 g 的時候,是和 exec 方法一樣
- 有標示符 g 的時候,是返回一個數組,裡面是匹配到的每一項
var
replace
replace
是將字串中滿足正則條件的字串替換掉- 語法:
字串.replace(正則,要替換的字串)
- 返回值 : 替換後的字串
var
千鋒HTML5學院:JavaScript學習筆記(十八)-- ES5zhuanlan.zhihu.com