0

これは、1〜4文字の長さの文字列を検証するための私の要件です(Hは時間を表し、Mは分を表します)。

1文字=H(0〜9の数字)

2文字=HH(最初のHは0〜2の数字、2番目は0〜9の数字ですが、最初のHが2の場合、2番目のHは0〜4のみです)

3文字=HMM(最初のHは0〜9の数字、最初のMは0〜5の数字、2番目のMは0〜9の数字)

4文字=HHMM(最初のHは0〜2の数字、2番目は0〜9の数字ですが、最初のHが2の場合、2番目のHは0〜4のみ、最初のMは0〜5の数字、2番目のM 0〜9の数字です)

これが難しいのは、弦の長さが事前にわからないことです。同じ数字は、弦の長さによって意味が異なる可能性があります。これを検証するためのJavaScriptRegularExpressionに関するアイデアはありますか?

4

1 に答える 1

1

次のような正規表現を使用できます。

^(2[0-4]|[01]?\d)([0-5]\d)?$

壊す:

^                   beginning of string
2[0-4]              digit 2 followed by digit 0-4
|                   or
[01]?\d             digit 0-1, optional, followed by any digit
([0-5]\d)?          digit 0-5 followed by any digit, as whole optional
$                   end of string

注:おそらく、0〜24時間ではなく0〜23時間にすることを意味します。

^(2[0-3]|[01]?\d)([0-5]\d)?$
于 2012-10-14T18:40:12.697 に答える