Java 中有個功能叫做 trim(),當字串中前後可能會有空白字元的時候,可以透過 trim() 來去除,小蛙使用 JavaScript 的時候發現沒有這個功能,Google 一下找到一篇文章講解怎麼實作一個 JavaScript trim 功能,後來同事說:「為什麼不用 jQuery.trim(str) 就好了?」@[email protected] 小蛙開發 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) 方法就好囉!

參考資料:

  1. jQuery.trim() @ jQuery
    http://api.jquery.com/jQuery.trim/
  2. Java Regular Expression的學習筆記 [精華] @ [email protected]
    http://www.javaworld.com.tw/jute/post/view?bid=20&id=130126&sty=1&tpg=1&age=0
  3. Javascript function : trim() – 自訂 @ Rox
    http://www.dotblogs.com.tw/rox/archive/2008/04/10/2753.aspx

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *