正則表示式是個難點,但是也是神器。學會正則表示式,有時候會明顯提升我們的程式碼效率。正則表示式是什麼?我們通過學習JavaScript中的正則表示式來學習吧!
正則表示式就是用某種模式去匹配一類字串的公式。如你要在一篇文章中查詢第一個字是“羅”最後一個字是“浩”的三個字的姓名,即“羅*浩”;那麼“羅*浩”就是公式,也稱作模式(Pattern),這篇文章就是要匹配的串(或叫文字text)。再如,你要檢查輸入的一個字串是否是126郵箱的格式,你得制定一個規則去查檢,這種規則就是正則表示式。
JavaScript中的正則表示式
JavaScript中的正則表示式是通過RegExp物件實現的。RegExp物件的建立有三種方式:
精簡方式:
/pattern/attributes
new方式:
newRegExp(pattern,attributes);
函式呼叫的方式:
RegExp(pattern,attributes);
引數pattern可以是一個模式串,也可以是一個RegExp物件,如果pattern本身就是RegExp的`物件,則attributes引數將不起作用(新建立的物件的必發與pattern物件相同。),需要省略,如果不省略會拋TypeError異常。
引數attributes有三種屬性"g"、"i"和"m",分別用於指定全域性匹配、區分大小寫的匹配和多行匹配。
RegExp主要有三個方法:
1驗證字串是否為數字
<scripttype="text/javascript">
2郵箱格式:
<scripttype="text/javascript">
3將一個文字中的所有郵箱地址和位置列印到頁面
應用場景
1資料驗證:
例如,可以檢查輸入的字串,看其是否為電話號碼格式,或是否為郵箱格式。這在網頁的表單輸入中經常用到。
2查詢子串:
可以查詢文件內(或一個字串內)符合指定模式的子串。
3替換文字:
可以使用正則表示式來識別文件中的特定內容,完全刪除該部分內容或者用其他字串來替換它。
4使用工具:
如Word、NotePad++、EditPlus等文字編輯器中的查詢功能都支援正則表示式,用正則表示式你就可以實現更加多樣化的查詢。還有像VS、CodeBlock、Eclipse、IntellijIdea等開發工具的IDE的查詢替換功能也都支援正則表示式,用它你可以修改變數名,調整程式碼格式,統計程式碼行數等。