0

微妙な問題を説明するために、ブラウザで直接テストできるようにJavaScriptの例をいくつか示します。

/[2-5]+/.test('2')   // true, as expected.
/[2-5]+/.test('-')   // false, as expected.
/[2-5]+/.test('2-')  // true. WTF?!!!

質問:

  1. これはバグですか、それとも機能ですか?
  2. 文字クラスをテストするときに、ハイフンをどのように除外しますか?

アップデート

これはばかげた質問です。私の悪い。再度コーディングする前に、少し休憩する必要があります。

4

1 に答える 1

2

このようなことを試してください。

/^[2-5]+$/.test('2-')

これにより、文字列の先頭(^)から末尾($)までの2〜5の数字のみが存在するようになります。

于 2012-11-11T01:16:01.427 に答える