0

数字と文字のみを入力できるようにするコードがあります。

        if (this.value.match(/[^a-zA-Z0-9 ]/g)) {
            this.value = this.value.replace(/[^a-zA-Z0-9 ]/g, '');
        }

フィルタを変更して記号:+と-を許可し、数字や文字などを削除するにはどうすればよいですか?それは正規表現と関係があるに違いありませんが、それをどのように行うかはわかりません。迅速な解決策はありますか?ありがとう。

4

1 に答える 1

2

これらの文字を文字セットに追加し、クリアしたい文字を削除することができます。ただし、ここでは、-記号には特別な意味があり、次のようにエスケープする必要があります。

    if (this.value.match(/[^+\-]/g)) {
        this.value = this.value.replace(/[^+\-]/g, '');
    }

inhanがコメントで指摘しているように、ハイフンはグループの最後の文字であり、したがって明確であるため、この正規表現だけを持つためにエスケープを省略できる可能性があります。

/[^+-]/g

しかし、これが常に機能するかどうかは私たちのどちらも完全には確信していませんが、エスケープされた形式は確かに機能します。

于 2013-01-10T16:46:24.323 に答える