2

単純なスキームで数値を検証しようとしていますが、正規表現が苦手です。

数値の形式は次のとおりです。

XXXXXXX-XX-Xは~ の間のX数字です。09

次のことを試しました/[0-9]{6}\-[0-9]{2]\-[0-9]{1}/が、検証されません。

私が間違ったことをしたことがわかりますか?

4

1 に答える 1

5

パターンにタイプミスがあります。3 番目]は次のようになります}

/[0-9]{6}\-[0-9]{2}\-[0-9]{1}/

ただし、これをさらに単純化できます。文字クラスの外で aをエスケープする必要-はなく、 の量指定子も必要ありません{1}:

/[0-9]{6}-[0-9]{2}-[0-9]/

\d使用している正規表現エンジンによっては、おそらく[0-9]. JavaScript では同等ですが、多くのエンジンではわずかに異なります。\dは、10 進数字ではなく Unicode 数字での使用を目的としています (たとえば、イースター アラビア数字と一致する可能性があります)。これが許容できる場合は、次を使用できます。

/\d{6}-\d\d-\d/

また、先頭または末尾の文字を禁止する必要がある場合は、パターンの周りに開始 ( ^) および終了 ( $) アンカーを追加することを検討してください。

/^[0-9]{6}-[0-9]{2}-[0-9]$/

または

/^\d{6}-\d\d-\d$/
于 2013-10-16T18:16:32.973 に答える