String.prototype.trim()

trim() メソッドは、文字列の両端の空白を削除します。このコンテクストでの空白には、空白文字(スペースやタブ、ノーブレークスペースなど)とすべての改行文字(LF や CR など)を含みます。

構文

str.trim()

戻り値

呼び出し元の文字列の両端から空白を取り除いた新しい文字列。

説明

trim() メソッドは両端の空白を取り除いた文字列を返します。trim() はその文字列自身の値には影響を与えません(非破壊メソッド)

例: trim() の使用

以下の例は小文字の文字列 "foo" を表示します:

var orig = '   foo  ';
console.log(orig.trim()); // 'foo'

// 片方からだけ空白を取り除く .trim() の例。

var orig = 'foo    ';
console.log(orig.trim()); // 'foo'

互換性

ネイティブで使用できない場合、他のコードの前に次のコードを実行することにより String.trim() が使用可能になります。

if(!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g,'');
  };
}

訳者注: 上記コードの正規表現文字列中にある「\s」は空白文字にマッチするメタ文字です。しかし Internet Explorer のいくつかのバージョンは、EcmaScript で trim の削除対象として定義されている空白文字のひとつである「\u00A0」にマッチしません。また、Google Chrome のいくつかのバージョンは、現在仕様で削除対象とされていない全角空白(\u3000)を削除対象としています。よって上記コードは、全てのブラウザでの trim の動作を完全に一致させるものものではありません。

仕様

仕様 ステータス コメント
ECMAScript 5.1 (ECMA-262)
String.prototype.trim の定義
標準 初期定義。JavaScript 1.8.1 で実装。
ECMAScript 2015 (6th Edition, ECMA-262)
String.prototype.trim の定義
標準  
ECMAScript 2017 Draft (ECMA-262)
String.prototype.trim の定義
ドラフト  

ブラウザー実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有) 3.5 (1.9.1) 9 10.5 5
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (有) (有) (有) (有) (有) (有)

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama, teoli, ethertank, Potappo, Yuki Konno
 最終更新者: YuichiNukiyama,