0

次のコードを使用して、文字列にEや などの特定の文字が含まれているかどうかを確認しようとしていますF

/^(F?)/.test('E22')

問題は、返さtrueなければならないときに返されることfalseです。そして、私を最も悩ませているのは、regexpal.com での正規表現のテストは完璧ですが、適用すると... 間違っていることです。

何がうまくいかないのですか?

http://jsfiddle.net/alleks/CykQv/

アップデート

私は自分自身を間違って説明しました。さまざまなケースで、個別のチェックを行います。したがって、特定のケースでは、文字列に が含まれているかどうかを確認する必要がありEます。F

//Case1
if (/^(F?)/.test(stringContainsE)) ....

//Case2
if (/^(F?)/.test(stringContainsF)) ....

Update2

どちらの場合も、そうでない場合に TRUE を返します: http://jsfiddle.net/alleks/CykQv/2/

4

2 に答える 2

5

I'm trying to check if a string contains specific letters like E or F

正規表現は次のとおりです。

/[EF]/.test('E22');

あなたの正規表現^F?は F をオプションとして作成します。これは、どの入力に対しても常に true を返します。

更新:これは、オプションのアンカーなしで機能するはずです?

//Case1
if (/^E/.test(stringContainsE)) ....

//Case2
if (/^F/.test(stringContainsF)) ....
于 2013-11-04T16:54:05.550 に答える