Javascript用RegExp達成trim()
Java 中有個功能叫做 trim(),當字串中前後可能會有空白字元的時候,可以透過 trim() 來去除,小蛙使用 JavaScript 的時候發現沒有這個功能,Google 一下找到一篇文章講解怎麼實作一個 JavaScript trim 功能,後來同事說:「為什麼不用 jQuery.trim(str) 就好了?」@_@ 小蛙開發 web 都會使用到 jQuery,不過這篇文章既然打好了,就還是留下來囉!
直接上程式碼,下面分成清除左邊空白、清除右邊空白,在合併成清除左右空白。
// 去除左邊空白 function lelftrim ( terms ) { return terms.replace ( /^[\s]*/gi, "" ); }
// 去除右邊空白 function righttrim ( terms ) { return terms.replace ( /[\s]*$/gi, "" ); }
// 去除左右空白 function trim ( terms ) { terms = lefttrim ( terms ); terms = righttrim ( terms ); return terms; }
Regex 說明
/^[\s]*/gi
\s:會產生空白的字元,ex. ” “(空白)、”\t”、”\n”、”\x0B”、”\f”、”\r”
^[\s]:空白字元開頭的字串 (意思同於左邊有空白字元)
^[\s]*:0 個以上空白字元開頭的字串
g:global
i:case insensitive
/[\s]*$/gi
[\s]*$:0 個以上空白字元結尾的字串 (意思同於右邊有空白字元)
參考資料 Javascript function : trim() – 自訂
更多正則表示式可參考 Java Regular Expression的學習筆記 [精華] 很詳細唷!如果開發上都會直接使用 jQuery 的話,就直接使用 jQuery.trim(str) 方法就好囉!
參考資料:
- jQuery.trim() @ jQuery http://api.jquery.com/jQuery.trim/
- Java Regular Expression的學習筆記 [精華] @ JWorld@TW http://www.javaworld.com.tw/jute/post/view?bid=20&id=130126&sty=1&tpg=1&age=0
- Javascript function : trim() – 自訂 @ Rox http://www.dotblogs.com.tw/rox/archive/2008/04/10/2753.aspx