什麼是正規表示式?
當你在文字中搜尋資料時,你可以用搜尋模式來描述你要查詢的內容。正規表示式可以是乙個簡單的字元,或乙個更複雜的模式。正規表示式可用於所有文字搜尋和文字替換的操作。
用一句話來概括就是:制定相應的規則來匹配或者擷取字串或者替換文字用的。
首先我們來建立乙個正則
建立正則有兩種方法 :字面量、例項化
首先我們來看字面量建立法
//之間包起來的所有的內容都是元字元,有的具有特殊意義,大部分都是代表本身含義的普通的元字元。
\d 0-9的一位數字
var reg = /\d/;
test()是乙個正規表示式方法 用於檢測乙個字串("2345")是否匹配某個模式(\d)如果包含 返回結果為true 否則為false
console.log(reg.test("2315"))
我們在來看下例項化建立法
以字串樣式出現
var reg = new regexp("\\d");
//在這裡新增乙個字串("123456")
console.log(reg.test("123456"));//輸出結果為true
兩種的區別
1、字面量方式中出現的一切都是元字元,所以不能進行變數值的拼接,而例項建立的方式是可以的。
例如
字面量方式
var name = 'wo';
var reg = /^\d+"+name+"\d+$/
例項化 以數字開頭 以數字結尾
var reg = new regexp("^\\d+"+name+"\\d+$")
2、字面量中直接寫\d就可以,而在例項中需要把它轉譯\\d
test() 、exec()、replace() 都是正規表示式方法。
test() 方法用於檢測乙個字串是否匹配某個模式,如果字串中含有匹配的文字,則返回 true,否則返回 false。
exec() 方法用於檢索字串中的正規表示式的匹配。該函式返回乙個陣列,其中存放匹配的結果。如果未找到匹配,則返回值為 null。
replace() 方法用於在字串中用一些字元替換另一些字元,或替換乙個與正規表示式匹配的子串
我們在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。
比如我們要在乙個字串中尋找到其中的數字。用我們常規的方法一般怎麼做?
是不是先遍歷這個字串中的每個字元,拆分檢查每個字元,還要用parseint把它轉換成數字,才能知道它是不是數字吧?
function containsnumber(str)
1.具有特殊意義的元字元。
\: 轉義字元
^: 以某乙個元字元開始
$: 以某乙個元字元結束
\n: 匹配乙個換行
.:除了\n以外的任意字元
(): 分組
x|y: x或者y中第乙個
[xyz]: x或者y或者z中的乙個
[^xyz]: 除了三個以外的任意乙個字元。
[a-z]: a-z之間的任意乙個字元
[^a-z]: 除了a-z之間的任意乙個字元
\d:0-9之間的乙個數字
\d: 除了0-9之間的數字以外的任意字元
\b: 匹配乙個邊界符 w1 w2
\w: 數字、字母、下劃線中的任意字元
[0-9a-za-z_]
\s: 匹配乙個空白字元 空格、乙個製表符、換頁符...
2.代表出現次數的量詞元字元
*: 出現零到多次
+: 出現一到多次
?: 出現零次或者一次
: 出現n次
: 出現n到多次
: 出現n到m次
通過上面的字元我們來寫幾個小案例 融匯貫通一下
1)寫乙個身份證的號碼
用到 ^ 以某乙個元字元開頭。 \d 0-9之間的任意乙個數字。 大括號 裡面可以填充數字 出現幾次。| 或者的意思,兩個中的乙個。
2)我們在寫個年齡範圍的 比如寫個18-65歲的
這個裡面用到了 ^ 以某個元字元開頭、查詢某個範圍之間的字元、$以某個元字元結尾、| 兩個中的乙個。 Javascript正規表示式
這段時間學習js,正好遇到了正規表示式。下面通過使用例項介紹一下正規表示式。正規表示式,又稱正規表示法 常規表示法 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列符合某個句法規則的字串。在很多文字...
JavaScript 正規表示式
一 什麼是正規表示式 正規表示式 regular expression 是乙個描述字元模式的物件。測試正規表示式 regexp 物件包含兩個方法 test 和exec 功能基本相似,用於測試字串匹配。test 方法在字串中查詢是否存在指定的正規表示式並返回布林值,如果存在則返回true,不存 在則返...
javascript 正規表示式
正規表示式 regexp物件 主要用於表單驗證 1 建立正規表示式 1 var ret pattern pattern是內容,可以是正規表示式的內容,可以是字元或是其他的內容 2 var rag new regexp pattern 括號內可以是雙引號或者單引號 2 正規表示式的exec方法 reg...