1. 程式人生 > 其它 >正則至少一個數字_JavaScript學習筆記(十七)-- 正則

正則至少一個數字_JavaScript學習筆記(十七)-- 正則

技術標籤:正則至少一個數字正則驗證已某些字元開頭

正則

  • 正則表示式,又名 “規則表示式”
  • 由我們自己來書寫 “規則”,專門用來檢測 字串 是否符合 “規則” 使用的
  • 我們使用一些特殊的字元或者符號定義一個 “規則公式”,然後用我們定義好的 “規則公式” 去檢測字串是不是合格
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學習筆記(十八)-- ES5​zhuanlan.zhihu.com