jQuery.trimで使っているJavaScriptの\sに全角スペースを含むかどうか。
コアjQuery+プラグイン/jQuery UI 開発実践技法 (Programmer’s SELECTION)
- 作者: Bear Bibeault,Yehuda Katz,吉川邦夫
- 出版社/メーカー: 翔泳社
- 発売日: 2011/08/31
- メディア: 大型本
- 購入: 8人 クリック: 296回
- この商品を含むブログ (25件) を見る
を読んでいて、jQuery.trimに言及があったのですが全角スペースがどうなるかについて言及がなかったので調べてみました。
jQueryのtrimでは、正規表現で「\s\uFEFF\xA0」をtrimしています。FEFFやA0はともかく\sはブラウザにより(というよりIEのバージョンにより)、全角スペースが対象になるかどうかが違っていました。
確認に使用したコードは以下です。
結果としては、IE8までは\sに全角スペースは含みません、IE9以降は\sに全角スペースを含みます。
その他のモダンブラウザの最新版(Chrome、Firefox、Safari)は\sに全角スペースを含みます。
IE9以降のみを対象とする環境では動作は変わりませんが、IE8以前を考慮しないといけない環境では動作が変わるので注意が必要です。