1. 正則表達式用于定義一些字符串的規(guī)則:計算機可以根據(jù)正則表達式,,來檢查一個字符串是否符合規(guī)則,,將字符串中符合規(guī)則的內(nèi)容提取出來,。 2. 創(chuàng)建正則表達式對象: var reg=new RegExp("正則表達式","匹配模式"); //結(jié)果:/內(nèi)容/ 匹配模式:值:i:忽略大小寫 g:全局匹配模式 使用字面量來創(chuàng)建正則表達式: 語法:var 變量=/正則表達式/匹配模式; var express=/a/i; var result=express.test("abcdse"); console.log(result); 檢查一個字符串中是否有a或b: var express=/a|b|c/i; 或var express=/[ab]/i; 檢查是否有字母:[A-z] 檢查是否有abc,adc,aec: var express=/a[bde]c/i; [^ab]:除了ab以外都為true [0-9]:任意數(shù)字 [a-z]:任意小寫字母 3. 正則表達式的方法:test( )使用這個方法可以用來檢查一個字符串是否符合正則表達式,符合返回true,,不符合返回false,; var str='a'; //用來檢驗字符串中是否含有a var result=reg.test(str); console.log(result); 4. 字符串與正則表達式 split:把字符串分割為字符串數(shù)組。 根據(jù)字母拆分字符串: //不指定全局匹配也會全部改變 var express='a1b2n3v4b5c5g7'; search:搜索字符串中是否含有指定內(nèi)容 若搜索到指定內(nèi)容,,則返回第一次出現(xiàn)的索引,若沒有搜索到返回-1 只會查找第一個 var express="a1 b2 n3 v4 b5 c5g7"; var express="a1 b2 abc v4 aec c5g7"; match( ):根據(jù)正則表達式,,從一個字符串中將符合條件的內(nèi)容提取出來 默認情況下只會找到第一個符合要求的內(nèi)容,,找到以后就停止檢索,將正則表達式設(shè)置為全局匹配,,就會匹配到所有內(nèi)容,。 會將匹配到的內(nèi)容封裝到一個數(shù)組中返回,即使只搜索到一個結(jié)果,。 var express="a1b2abcv4aecc5g7"; replace():將字符串中指定內(nèi)容替換為新的內(nèi)容,。 參數(shù):被替換的內(nèi)容,可以接受一個正則表達式作為參數(shù) 新內(nèi)容 默認只替換第一個 var express="a1b2abcv4aecc5g7"; 5. 量詞:通過量詞可以設(shè)置一個內(nèi)容出現(xiàn)的次數(shù):{n}正好出現(xiàn)n次,,量只對它前面一個內(nèi)容起作用,;(ab){3}==ababab; ab{1,3}c:出現(xiàn)一次到三次b ab{3, }c:出現(xiàn)三次以上b ab+c:出現(xiàn)至少一個b ab*c:出現(xiàn)0個或多個b ab?c:出現(xiàn)0個或1個b ^a:以a開頭 a$:以a結(jié)尾 ^a|a$:以a開頭或者以a結(jié)尾 ^a$:只能是一個a var str=/a{3}/; 6. 檢查一個字符串是否為一個合法手機號 以1開頭 ^1 第二位3-9任意數(shù)字 [3-9] 三位以后任意數(shù)字 [0-9]{9}$ var reg=/^1[3-9][0-9]{9}$/; 7. 檢查一個字符串中是否含有. . 表示任意字符 使用 \ 來表示轉(zhuǎn)義字符,,使用 \ . 來表示 . 在構(gòu)造函數(shù)要使用 \ 要利用 \\ 來代替
var reg=/\bchild\b/; 8. 接收一個用戶的輸入 var str=prompt("請輸入你的用戶名:"); 9. 寫一個電子郵件的正則 任意的字母數(shù)字下劃線 . 任意的字母數(shù)字下劃線@ 任意字母數(shù)字 .任意字母(2-5). 任意字母(2-5) \w{3,} (\.\w+)* @ [A-z0-9]+ ( \.[A-z]{2-5}){1,2} 可以在網(wǎng)上搜索 |
|