読者になるka-ka_xyzの日記この広告は、90日以上更新していないブログに表示しています。2014-09-28javaScriptとノーブレークスペースについてあれこれノーブレークスペースについてノーブレークスペースってなんぞやというと、Web系の人にとってはお馴染みなはずの実体参照"&nbsp;"で表示される空白文字です。Unicode符号は0x00A0。通常の半角スペース文字は0x0020なので、見た目は同じ空白文字でも実態は違う文字です。細かいことはwikipedia参照。expectedText);みたいなテストを書いてて通らなかった事がきっかけ。文字列をユニコード符号で見てみましょう。U+006E太字強調した部分は区切り文字ですが、ちゃんとノーブレークスペース文字が"U+00A0"として取得出来ている事が分かります。空白文字の違いなんかどうでもいいからさっくり文字列比較したい正規表現の"\s"はホワイトスペース文字(U+0020)だけに限らず空白文字全般にマッチするので、String.prototype.replace()を使ってホワイトスペースへ置換するのが一番手っ取り早いかと。trueノーブレークスペース(U+00A0)が全てホワイトスペース(U+0020)へ置き換えられ、文字列比較も一致することが確認できました・・・と、ここまではChrome上での話。ブラウザごとのノーブレークスペースの扱いjsでテキストノードの値を取得するには、大抵textContentかinnerTextを使うかと思いますが、各ブラウザごとにノーブレークスペースの扱いがどうか見てみましょう。0x0020IE11ではinnerTextでテキストを取得した時に、ノーブレークスペース("0x00A0")がホワイトスペース("0x0020")として取得されます。MDN)となるため、textContentが使えないレガシーIEでノーブレークスペースをノーブレークスペースとして扱うのは手間がかかりそう(innerHTMLで文字列"&nbsp;"として取るか)。editorのパッケージを書いた30時間完徹マラソンでコード書いたった。jersey-freemarkerモジュールが...FreeMarkerはJava製のテンプレートエンジンです。12はてなブログをはじめよう!ka-ka_xyzさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。