LoginSignup
0
0

目に見えない文字対応、基本的にスペース、タグ、改行文字程度でいい説

Last updated at Posted at 2024-02-01

「目に見えない文字対応」とは?

なんかの入力処理とかで、目に見えない文字列だった場合は不正な入力と見なすみたいな感じのやつ。

よくこんな風に書く。

function isReadableText(text) {
    return text.trim() !== "";
}

trimで取り除けない不可視な文字の存在

基本時にはtrimして空文字かを判定すれば事足りるのだが、残念なことにそれをすり抜ける文字が存在する。

例えば、これ→←これ
(ハングルジュンソンフィラーというらしい。)

これだけでなく、不可視な文字はいくつかあるようだ。

で、「目に見えない文字対応」はこれら全てを対応するべきなのか?

要件による。

で終わるとつまらないので私の考えを書く。

うっかりミスによるヒューマンエラーを防ぐ目的で「目に見えない文字対応」をする場合は、JSのtrimで取り除ける文字だけを対応すればよい。

何故か?

それは、ハングルジュンソンフィラーのような不可視な文字のみの入力意図的に入力しない限り、ほとんどあり得ないからであり、

また逆にスペース、タグ、改行のみの入力うっかり入力してまう可能性が現実的な確率であり得るからだ。
(例えば、アプリが遅いなーとイライラしながら適当にキーを連打したら、あるかもしれない。)

うっかりハングルジュンソンフィラーだけの文字入力をすることは、天文学的な確率だと思われるため、ヒューマンエラーとしての対応に含む必要はないだろう。


またハングルジュンソンフィラーなどを弾く必要があるのは、例えば、対戦ゲームで相手の名前が見えないと不利になるなど、目に見えない文字がサービスに害をもたらす場合などが考えられる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0