s_computer

とある製品を利用した時、クライアントサイドの日本語文字列の文字数が想定値より多く取得される現象に遭遇しました。

 

文字数カウントしてるだけなのに何だ?Chromeの開発者モードで確認したところ

えー「​」が挿入されている!!

 

幅なしの空白文字、なんで特殊文字対策してないのかと思いましたが、サーバーサイドでサニタイジングする方が良いけどカスタマイズできないため、冷静にjavascriptでトリムする方法を検討。

 

取りあえず下記で行けるという結論に。

上で行けるか実験(`・ω・´)

 

正直ただのlength打って適切な値が取得出来ないのは焦ります(笑)

 

物によるでしょうけど製品であればこのくらいは標準で対応して頂きたい物ですね。

 

ちなみに幅がないスペースは下記が該当するようです。

U + 200B
U + 200C
U + 200D
U + FEFF

特別な文字 8000〜8999−特殊文字リファレンス

https://stackoverflow.com/questions/18478847/why-is-8203-being-injected-into-my-html

Twitterでフォローしよう

おすすめの記事