7

数字を許可する正規表現を作成しようとしていますが、途中にハイフンが 1 つだけあります (最初または最後にすることはできません) と言う pattern:02-0402受け入れられますが、 pattern:--または-or-02または04-or02-04-06は受け入れられません

私はこのようなことを試しましたが、これは許可します-最初は許可し、複数も許可します-

'/^[0-9 \-]+$/'

私は正規表現が得意ではないので、少しの説明が本当に役に立ちます。

編集:これで再びあなたを悩ませて申し訳ありませんが、数字が2桁(123-346)だけである必要があり、無効と見なされるべきです.

4

3 に答える 3

14

これを試してください:

/^\d{1,2}(-\d{1,2})?$/

1 桁または 2 桁の数字の後に、オプションで (ハイフンの後に 1 桁または 2 桁の数字が続く)

于 2012-08-23T10:41:55.433 に答える
5

かなり簡単:

^\d+(-\d+)?$

少なくとも 1 つの ( +) 数字 ( \d) に続いて、ハイフンマイナス ( ) を含むオプションのグループが-続き、その後に少なくとも 1 つの数字が続きます。

于 2012-08-23T10:41:37.160 に答える
2

そのパターンのみを含む文字列の場合、次のように動作するはずです

^(\d{2}-)?\d{2}$

2 桁のグループの後にマイナスが続き、マイナスのない 2 桁のグループで終わります。

于 2012-08-23T10:58:47.690 に答える