近頃のブラウザーのJavascriptエンジンは大体trim関数に対応しているので、以下のようにできる。
var str = " abc "; var trimmed_str = str.trim();
もし古いブラウザのサポートとかでtrim関数が無い場合は、代わりに replace を用いて文字列の前後の空白を取り除くなどの方法がある。
target = target.replace(/(^\s+)|(\s+$)/g, "");
左側のみを取り除く ltrim も同様な方法でできる。
target = target.replace(/^\s+/, "");
右側の rtrim も同様に。
target = target.replace(/\s+$/, "");
もし全角空白も取り除きたい場合は \s+ の部分を [\s ]+ とするとできる。
更に、 prototype 言語らしく String クラスを装飾してやる方法や jquery を使う方法も一応書いておく。
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); } String.prototype.ltrim = function() { return this.replace(/^\s+/, ""); } String.prototype.rtrim = function() { return this.replace(/\s+$/, ""); }
こうすれば、全ての String オブジェクトで trim, ltrim, rtrim が使えるようになる。例えば
var str = " abc "; var trimmed_str = str.trim();
のような感じ。
jquery には trim が実装されているので、それを使う事もできる。
var str = " abc "; var trimmed_str = $.trim(str);