0
var filter1 = /^\d{3}+[\-]+[A-Za-z1-9]{2}+[\-]+\d{3}+[A-Z]{2}+$/ ;

このパターン NNN-xx-NNNLL を取得したい

ここで、N は 0 から 9 までの数字を意味し、x はゼロ (0) とアンダースコア (_) を除く英数字を意味し、L は A から Z までの大文字のアルファベットを意味します。

助けてください。私のパターンは間違っています

4

3 に答える 3

2

あなたの表現で+が間違っています。正規表現では、プラスは前の式の少なくとも 1 つを意味します。ただし、コンセントレーターとしては使用されません。+のすべての出現を削除するだけで、式は正常に機能するはずです。

var filter1 = /^\d{3}[\-][A-Za-z1-9_]{2}[\-]\d{3}[A-Z]{2}$/;
于 2013-10-09T18:26:15.747 に答える
2

プラス記号は、前の要素が 1 つ以上出現することを意味します。ここで間違って使用します。
また、ダッシュは括弧の外側のリテラルであり、それらは必要ありません。

var filter1 = /^\d{3}-[_A-Za-z1-9]{2}-\d{3}[A-Z]{2}$/
于 2013-10-09T18:29:18.870 に答える
1

どうですか: ^\d{3}-[A-Z1-9a-z]{2}-\d{3}[A-Z]{2}$?

于 2013-10-09T18:25:19.843 に答える