No Programming, No Life

プログラミング関連の話題や雑記

trim関数

JavaScriptの文字列クラスにはtrimメソッドがないので
以下のように実装。

/* 端の無駄なスペースを削除 */
str = str.replace(/^\s+|\s+$/g, "");

\s は 空白文字。
^ は 先頭
$ は 末尾
| は OR
+ は 1回以上出現
g は 2,3番目にもヒット

ヒットした前後の空白文字を空文字("")に変換してくれます。

※全角スペースもトリムするなら \s を [\s ] とかにすればよいでしょう。

2008-04-28追記

当エントリーが当ブログでの一番人気?のようなので、最近の書き方も載せておきます。
意外とtrim関数の需要って多いんですね。

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, "");
}
使用例
var str = "  abc  ".trim();

Stringオブジェクトのプロトタイプとして無名関数としてトリム処理を埋め込んでしまうのが一番スマートかと思われます。