
trimは全角スペースも削除する
Rubyなどの言語だとtrimを使用すると全角スペースは削除しないが、JavaScriptだと全角スペースも削除される。
Rubyを書く人だとJavaScriptも書く人が結構多いので注意が必要だ。
1 2 3 4 5 6 7 8 | const str = ' foo ' const strTrim = str.trim() console.log(`「${str}」`) // => 「 foo 」 console.log(`「${strTrim}」`) // => 「foo」 |
全角スペースは削除しないようにする
全角スペースは削除しないようにするにはtrim()の全角スペースを削除しない版のtrimRuby()のようなメソッドを作成すれば良い。
1 2 3 4 5 6 7 8 9 10 11 | String.prototype.trimRuby = function () { return this .replace(/^[ \r\n\t\uFEFF\xA0]+|[ \t\r\n\uFEFF\xA0]+$/g, '' ); }; const str = ' foo ' const strTrim = str.trimRuby() console.log(`「${str}」`) // => 「 foo 」 console.log(`「${strTrim}」`) // => 「foo 」 |