We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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 Latest Draft (ECMA-262)
String.prototype.trim の定義
ドラフト  

ブラウザー実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 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,