My JSは "stringify()"を使用してJSONにいくつかの文字列データを保存しますが、出力されたJSON文字列を観察すると、NULLやその他の不正な文字のような奇妙な文字が表示されます。今私はこれらの "悪い"文字のリストを持っていないので、私はそれらを文字列データから取り除くことができますか?あなたは「良い」文字のリストを持っている場合は、あなたのリストにないを任意の文字にマッチする正規表現を作成し、それが一致するものを取り除くことができJS内の文字列から不正な文字を取り除くにはどうすればよいですか?
答えて
単純なRegExがあればうれしいですが、私はそこにいるとは思いません。私が理解しているところでは、%$#@などの文字を許可したいが、タブやヌルのような他の奇妙な文字は許可しない。これが正しければ、私はあなたが本当に正規表現を使用する場合は、ホワイトリストのアプローチが必要であると考えられる
function stripCrap(val) {
var result = '';
for(var i = 0, l = val.length; i < l; i++) {
var s = val[i];
if(String.toCharCode(s) > 31)
result += s;
}
return result;
}
...最も簡単な方法は、ループにそれぞれの文字になります信じて、文字コードを評価します。これは、すべての数字、文字、スペースを許可します...
val = val.replace(/[^a-z 0-9]+/gi,'');
ホワイトリストの提案に感謝します。この問題のこのような大きな解決策 – Mansiemans
エラーが発生しました: 'TypeError:Object function String(){[ネイティブコード]}にはクロムのメソッド 'toCharCode'がありません – nnyby
私はそれを働かせました。妥当な文字セット(標準の句読点を含む)を得るためにはかなり長いリストになる可能性がありますが、Unicodeを気にしなければ、これは良いことになるかもしれません。(例:s.charCodeAt(0)> 31){' – nnyby
- 例えば、次の正規表現は何もない文字と一致します"a"、 "q"、または "z":
/[^aqz]+/ig
- 1. 文字列から文字を正しく削除するにはどうすればよいですか?
- 2. これらの不正な文字を取り除く方法?
- 3. 文字列から隠された文字を取り除く
- 4. C文字列から文字列を取り除く
- 5. HTTPartyのxmlファイルから不正な文字を削除するにはどうすればよいですか?
- 6. Cの文字配列から文字列を取得するにはどうすればよいですか?
- 7. iOS:バッファや文字列から空文字を削除するにはどうすればよいですか?
- 8. 文字列からHTMLエンコード文字を削除するにはどうすればよいですか?
- 9. 文字列から不要な文字を削除する
- 10. (OCaml)文字列から文字を取得するにはどうすればよいですか?
- 11. 特定の文字の後に文字列を切り取るにはどうすればよいですか?
- 12. Perlを使用して文字列のHTMLを取り除くにはどうすればよいですか?
- 13. SQL内の文字列から不要な文字列
- 14. Ruby on Rails:文字列から最初の300単語または文字を取り除くにはどうすればよいですか?
- 15. 文字列内の部分文字列を交換するにはどうすればよいですか?
- 16. 文字列から文字列を抽出するにはどうすればよいですか?
- 17. php文字列から邪悪な文字を取り除く方法
- 18. 文字列の最後の2文字目を削除するにはどうすればよいですか?
- 19. PHPの文字列から英数字を除くすべての文字を取り除く
- 20. 文字数の代わりに文字列を保持しながら、文字列のMAXをグループ化するにはどうすればよいですか?
- 21. 文字列に文字を取り除く方法は?
- 22. javascriptのtwitterのような文字列を@から取り除く方法
- 23. javaの文字列からこれらの部分文字列を取り除くには?
- 24. Pythonのソースコードからコメントやドキュメント文字列を取り除くにはどうしたらいいですか?
- 25. 文字列/数字を文字列に追加するにはどうすればよいですか?
- 26. 文字配列から改行を取り除くには?
- 27. actionListenerの内部から文字列を取得するにはどうすればよいですか?
- 28. 文字列にバックスラッシュ(\)を書くにはどうすればよいですか?
- 29. PHP文字列から-zA-Z0-9、_、 - 以外の文字を取り除く
- 30. Eclipse C++エディタで余分な文字を取り除くにはどうすればいいですか
これらの変な文字の原因は何ですか?根本原因を調査し、根本原因を修正する方が良いでしょう。 –