最初に、私は嫌いで、正規表現を正しく理解していないことを告白します。ch
単一の文字が許容可能な文字セットの 1 つであることを確認したい。私はこれがうまくいくはずだと思ったが、うまくいかない:
if (/aCcehIikmNnOoprSstxYy/.test(ch)) {
私は何を間違っていますか?
ありがとう。
最初に、私は嫌いで、正規表現を正しく理解していないことを告白します。ch
単一の文字が許容可能な文字セットの 1 つであることを確認したい。私はこれがうまくいくはずだと思ったが、うまくいかない:
if (/aCcehIikmNnOoprSstxYy/.test(ch)) {
私は何を間違っていますか?
ありがとう。
文字のセットを[]で囲む必要があります。
if (/[aCcehIikmNnOoprSstxYy]/.test(ch)) {
それがなければ、文字列全体'aCcehIikmNnOoprSstxYy'を一致させようとしています。
これは正規表現なしで解決できると思います:
var characters = "aCcehIikmNnOoprSstxYy";
var allowed = characters.indexOf("C") != -1;
if (allowed) {
// do something here
}
String.indexOf()は、文字が文字列に含まれていない場合は-1を返し、そうでない場合は正の数を返します。