2

テキスト領域でのユーザー入力を検証するための JavaScript を書いています。入力形式の要件は次のとおりです。

  1. 入力は、スペースで区切られた 2 つの 16 進数値の形式でなければなりません (つまり、A7 B3 9D)。
  2. 入力は有効な 16 進数値でなければなりません。

要件 2 を regExpression で整理しましたvalueOne.match("[0-9A-Fa-f]{1}")(または、少なくともそれが推奨される方法であることを願っています)。そのため、要件 1 をシンプルかつ効率的に処理する方法についての情報を探しています。

ありがとう!

4

1 に答える 1

5

この正規表現はそれを行います:

/^[0-9A-F]{2}(\s[0-9A-F]{2})*$/i

あれは:

^                // beginning of string
[0-9A-F]{2}      // two characters of 0-9 or A-F
(\s[0-9A-F]{2})* // zero or more instances of a space followed by
                 // two characters of 0-9 or A-F
$                // end of string

最後のiフラグは大文字と小文字を区別しません。

使用するには:

 var valueOne = // set to your textarea's value here
 if (/^[0-9A-F]{2}(\s[0-9A-F]{2})*$/i.test(valueOne)) {
     // is OK, do something
 } else {
     // is not OK, do something
 }
于 2012-09-11T03:09:14.517 に答える