0

入力した情報が3文字かどうかを確認する必要があります。最初の情報は、0-92番目A-Zと3番目0-9になります。

私は以下のようにパターンを書きました:

var pattern = `'^[A-Z]+[0-9]+[A-Z]$'`;
var valid = str.match(pattern);

選択、照合、置換のための正規表現の使用法に混乱しました。

  • この場合、[A-Z]1文字だけをチェックしますか、それとも文字列全体をチェックしますか?
  • +文字を分離(分割?)しますか?
4

4 に答える 4

1

+1つ以上の文字を意味するため、可能な文字列はABCD1234EFまたはA3Bであり、無効なのは3BまたはA6Bです。

于 2012-08-07T11:09:20.447 に答える
1

1)+1つ以上に一致します。あなたはちょうど1つ欲しい

2)スラッシュ内で、パターンをREGEXリテラルとして宣言します

これらの2つのポイントを念頭に置いて、パターンは次のようになります。

/^[A-Z][0-9][A-Z]$/

[0-9]また、\dショートカットに置き換えることでパターンを少し短くすることもできます(任意の数字と一致します)。

i3)いずれかのケースを許可する場合は、オプションで、最後のスラッシュの後に大文字と小文字を区別しないフラグを追加します。

4)文字列がパターンに一致することをテストするだけで、一致を取得するのではなく、を使用しtest()ますmatch()。より効率的です。

var valid = pattern.test(str); //true or false
于 2012-08-07T11:11:24.107 に答える
0

「+」は1つ以上を意味します。あなたの場合、正確な数量一致を使用する必要があります。

/^\w{1}\d{1}\w{1}$/
于 2012-08-07T11:09:12.243 に答える
0

これはあなたが必要とする正規表現です:

^[0-9][A-Z][0-9]$

この場合、[AZ]は1文字だけをチェックしますか、それとも文字列全体をチェックしますか?

1文字をチェックするだけですが、文字は文字列に何度も含まれる可能性があります。

私が行ったように文字列全体に一致させるには、^と$を追加する必要があります。

+文字を分離(分割?)しますか?番号。

+記号は、charsが1回以上繰り返すことができることを示しています。

于 2012-08-07T11:07:37.983 に答える