質問: false; event.target.previousElementSibling.focus(); } } }); ``` ``` .input-group{ box-sizing: border-box; width: 10rem; position:relative; } input, .over{ font-size:14px; box-sizing: border-box; height: 30px; padding: 8px; width: 100%; border: 1px gray solid; background-color: #FFFDE7 } .over{ background-color:#ECEFF1; position:relative; top:-30px; vertical-align:middle; display: flex; align-items: center; } .highlight{ font-weight:bold; color:red; } ``` ### 試したこと ●半角英数記号以外は全部赤くする ⇒全角英数を入力する人たちから紛らわしいと苦情殺到 ●単純に「V」「C」「K」だったら赤くする ⇒別の文字を入力する人が現れてしまいイタチごっこに・・・ ### 補足情報(FW/ツールのバージョンなど) ブラウザ:Google Chrome OS(クライアント側):windows 7~10
回答: 正直全部カバーするのは無理じゃないですかね。 特に機種依存文字の類ですから。 キーボードに直接なくても変換候補にはでてきます。 フォントによっても違ったりして、全て網羅は困難を極めるでしょう。 例えばこんな表がありますが、全てをブラックリストに入れてチェックするというと現実的ではないですよね。 どのようなWebシステムかは存じ上げませんが、 打たれた情報が正しい情報かどうかを判断する術はありません。 ※「数字なのに英字が打たれた」とか「”カナ”なのに”かな”が打たれた」とかは除く 名前の漢字とか、それが本当にその人の名前なのかどうか確かめる術はないですよね。 例えば比較的自由に入力が可能な住所であってもマンション名まで行くと機種依存文字やら’やら入ってくることが多々あります。 国によっては必要な文字かもしれません。でもそれはその入力するユーザーによりけりです。 制限しすぎるのはかえって使い勝手が悪くなります。 それはもうそのまま受け入れるしかありません。 という前提ですが、 **実際に何か問題が起きているのでしょうか?** 「困っています」とありますが、何がどう困っているのかわかりませんし、 大きな問題が起きているのか、そのあたりが質問文からは読み取れませんでした。 もう少し背景や経緯・起きている問題を具体的に書かれたほうが良いと思います。