正則表達式是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為”元字符”),模式描述在搜索文本時要匹配的一個或多個字符串,RegExp對象表示正則表達式,它是對字符串執行模式匹配的強大工具,正則表達式是一種查找以及字符串替換操作
創建正則表達式:
var re = new RegExp();//RegExp是一個對象,和Aarray一樣 //但這樣沒有任何效果,需要將正則表達式的內容作為字符串傳遞進去var re =new RegExp("a");//最簡單的正則表達式,將匹配字母a var re=new RegExp("a","i");//第二個參數,表示匹配時不分大小寫 var re = new RegExp("a","gi");//匹配所有的a或A //正則表達式還有另一種正則表達式字面量的聲明方式:var re = /a/gi;RegExp構造函數第一個參數為正則表達式的文本內容,而第一個參數則為可選項標志.標志可以組合使用
?g (全文查找) ?i (忽略大小寫) ?m (多行查找)舉例的基本使用:
//test方法,測試字符串,符合模式時返回true,否則返回false: var re = /he/;//最簡單的正則表達式,將匹配he這個單詞 var str = "he"; alert(re.test(str));//true str="HE";re = /he/i;//不區分大小寫alert(re.test(str));//truestr = "Certainly!He loves her!"; alert(re.test(str));//true,只要包含he(HE)就符合,如果要只是he或HE,不能有其它字符,則可使用^和$ re = /^he/i;//脫字符(^)代表字符開始位置 alert(re.test(str));//false,因為he不在str最開始 str = "He is a good boy!"; alert(re.test(str));//true,He是字符開始位置,還需要使用$ re = /^he$/i;//$表示字符結束位置 alert(re.test(str));//false str = "He"; alert(re.test(str));//true re = //s/;// /s匹配任何空白字符,包括空格、制表符、換頁符等等 str= "user Name";//用戶名包含空格 alert(re.test(str));//true str = "user Name";//用戶名包含制表符 alert(re.test(str));//true re=/^[a-z]/i;//[]匹配指定范圍內的任意字符,這里將匹配英文字母,不區分大小寫 str="variableName";//變量名必須以字母開頭 alert(re.test(str));//true str="123abc"; alert(re.test(str));//false ........................................推薦參考博客:
js正則表達式學習和總結:http://blog.csdn.net/liujie19901217/article/details/51219672
JS正則表達式大全(整理詳細且實用):http://www.jb51.net/article/43190.htm
js的正則表達式學習筆記:http://www.cnblogs.com/zxpp/p/5351898.html
精通 JS正則表達式:http://www.cnblogs.com/aaronjs/archive/2012/06/30/2570970.html
一些特殊的使用:
var reg = /^[x00-x7f]+$/; ///xnn:匹配ASCII代碼中十六進制代碼為nn的字符,[x00-x7f]:匹配ASCII值從0-127的字符,0-127表示單字節字符,也就是:數字,英文字符,半角符號,以及某些控制字符新聞熱點
疑難解答