1

UI にテキスト フィールドがあります。ユーザーが特別な文字を入力することを制限しません。しかし、DBに保存している間、アルファベットと数字以外はすべて削除したいと思います。

クライアント(JavaScript)側またはサーバー(Java)側で実行できます(サーバー側で実行したいのですが)。

使った

str.replaceAll("[^a-zA-Z0-9]", "");

タスクを実行しますが、エラーが発生します。

文字シーケンスが無効です

「24 \ 7」のようなものを入力したとき。この種のエスケープ シーケンスを処理する方法はありますか、それともクライアント側で (javascript を使用して) 行う必要がありますか? jsのみで不要な文字をすべて削除することを意味しますか?

4

1 に答える 1

3

バックスラッシュのリテラル文字はペアで発生する必要があります。そうしないと、Java はキャリッジ制御文字 (やなど) を期待し\tます\n

String str = "24 \\ 7";
                  ^
于 2013-04-29T17:50:02.883 に答える