コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

jQuery.trimで使っているJavaScriptの\sに全角スペースを含むかどうか。

コアjQuery+プラグイン/jQuery UI 開発実践技法 (Programmer’s SELECTION)

コアjQuery+プラグイン/jQuery UI 開発実践技法 (Programmer’s SELECTION)

を読んでいて、jQuery.trimに言及があったのですが全角スペースがどうなるかについて言及がなかったので調べてみました。

jQueryのtrimでは、正規表現で「\s\uFEFF\xA0」をtrimしています。FEFFやA0はともかく\sはブラウザにより(というよりIEのバージョンにより)、全角スペースが対象になるかどうかが違っていました。

確認に使用したコードは以下です。


gist9376145

結果としては、IE8までは\sに全角スペースは含みません、IE9以降は\sに全角スペースを含みます。
その他のモダンブラウザの最新版(ChromeFirefoxSafari)は\sに全角スペースを含みます。

IE9以降のみを対象とする環境では動作は変わりませんが、IE8以前を考慮しないといけない環境では動作が変わるので注意が必要です。