0

最初に、私は嫌いで、正規表現を正しく理解していないことを告白します。ch単一の文字が許容可能な文字セットの 1 つであることを確認したい。私はこれがうまくいくはずだと思ったが、うまくいかない:

if (/aCcehIikmNnOoprSstxYy/.test(ch)) {

私は何を間違っていますか?

ありがとう。

4

2 に答える 2

3

文字のセットを[]で囲む必要があります。

if (/[aCcehIikmNnOoprSstxYy]/.test(ch)) {

それがなければ、文字列全体'aCcehIikmNnOoprSstxYy'を一致させようとしています。

于 2012-06-13T08:13:31.443 に答える
2

これは正規表現なしで解決できると思います:

var characters = "aCcehIikmNnOoprSstxYy";
var allowed    = characters.indexOf("C") != -1;

if (allowed) {
  // do something here
}

String.indexOf()は、文字が文字列に含まれていない場合は-1を返し、そうでない場合は正の数を返します。

于 2012-06-13T08:21:42.673 に答える