正則:
描述字元模式的物件
建立(兩種方式有區別):
字面量:var reg=/\d/
例項建立:var reg=new regexp('')
區別字面量,//間不能加變數,例項建立中可以,類似字串拼接
字面量中可以直接寫\d,例項中需要轉義\\d
每個正規表示式都是有元字元和修飾符組成的
元字元:在//之間具有意義的一些字元
1 具有特殊意義的元字元
\:轉義字元,,轉義後面字元所代表的含義
^:以某乙個元字元開始(不佔位置) reg=/^\d$/ ->只能是0-9之間的數字
$:以某乙個元字元結尾(不佔位置)
\n:匹配乙個換行符
.:除了\n以外的任意字元
():分組 ->把乙個大的正則劃分成幾個小的正則
1 改變優先順序
2 分組引用
\2代表的是與第二個分組一模一樣的內容;\1代表的是與第乙個分組一模一樣的內容
var reg=/^(\w)\1(\w)\2$/
3 分組捕獲
大正則+小分組同時捕獲
?:在分組中,?:的意思是只匹配不捕獲
x|y:x或者y中的乙個
[xyz]:x或者y或者z
[^xyz]:除了三個以外的任一字元
[a-z]:a-z之間的任意乙個字元
[^a-z]:除了a-z之間的任意乙個字元
1 在中括號**現的所有字元都是本身的意思
2 中括號不識別兩位數
\d:乙個0-9之間的數字 \d:除了0-9之間的數字以外的任何字元
\b:乙個邊界符"w1 w2 w3"
\w:數字、字母、下劃線中的任意乙個字元 [0-9a-za-z_]
\s:匹配乙個空白字元 空格 製表符 換頁符...
2 代表出現多次的量詞元字元
*:至少出現零次
+:至少出現一次
?:出現零或者一次
:出現n次
:至少出現n次
:出現n到m次
修飾符:
g(global):全域性匹配
i(ignorecase):忽略大小寫匹配
m(multiline):多行匹配
簡單手機驗證:var reg=/^1\d$/
0開頭,2結尾,中間可以是除了\n的任意字元:var reg=/^0.2$/
0.2:reg=/^0\.2$/
就是乙個規則,用來處理字串的規則
1 匹配。判斷乙個字串是夠符合我們制定的規則->test reg.test(str)
2 捕獲。獲取字串中符合正則規則的內容->exec reg.exec(str)
1 捕獲的內容是乙個陣列,且內容放在陣列的第一位
2 懶惰性
3 貪婪性
特點:1 懶惰性(第二次查詢時仍然從頭開始)
解決:全域性查詢g,會改變lastindex的值
2 貪婪性(每一次捕獲都按照匹配最長的結果鋪貨)
解決:在量詞元字元後面新增乙個?即可
?在正則中的作用
1 放在普通的元字元後面 表示出現零次或者一次
2 放在量詞元字元後面 表示取消捕獲時候的貪婪性
方法:test:reg.test(str)
exec:reg.exec(str)
字串的match方法:把所有和正則匹配的字元都獲取到->str.match(reg)(分組的話match就獲取不準確)
字串的replace方法:把原有的字元替換成新的字元,
在不使用正則的情況下,每當執行一次只能替換乙個字元,並且下次繼續從頭開始
str.replace('a','b')
str.replace('/a/g','b')
js數字正規表示式,js小數正規表示式
js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...
JS 正規表示式
驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 ...
js正規表示式
用正規表示式模式在字串中執行查詢,並返回包含該查詢結果的乙個陣列。rgexp.exec str 引數rgexp 必選項。包含正規表示式模式和可用標誌的正規表示式物件。str 必選項。要在其中執行查詢的string物件或字串文字。說明如果exec方法沒有找到匹配,則它返回null。如果它找到匹配,則e...