[解決済み] JavaScript の文字列からゼロ幅の空白文字を削除する
2023-08-14 22:33:31
質問
ユーザーからの入力(JSコード)をリアルタイムに実行(処理)し、何らかの出力を表示したい。
時々、コードに全角のスペースが入っていて、本当に気持ち悪いです。ユーザーがどうやって入力しているのかわからない。例として
"($".length === 3
JSのコードからその文字を削除できるようにする必要があります。または、ブラウザがゼロ幅のスペース文字を考慮しないように、そのJSコードを実行する他の方法があるのでしょうか?
どのように解決するのですか?
Unicodeには以下のようなゼロ幅の文字があります。
- U+200B ゼロ幅スペース
- U+200C ゼロ幅非ジョイナー Unicode コードポイント
- U+200D ゼロ幅ジョイナー Unicode コードポイント
- U+FEFF ゼロ幅ノーブレイクスペース Unicode コードポイント
JavaScriptで文字列からこれらを取り除くには、簡単な正規表現を使用します。
var userInput = 'a\u200Bb\u200Cc\u200Dd\uFEFFe';
console.log(userInput.length); // 9
var result = userInput.replace(/[\u200B-\u200D\uFEFF]/g, '');
console.log(result.length); // 5
このほかにも、表示されない記号がたくさんあることに注意してください。いくつかの ASCIIの制御文字 は、例えば
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] Javascript 空の配列の削減
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?