web-dev-qa-db-ja.com

インドのピンコード検証正規表現-6桁のみ、「0」で始めることはできません

私は試しました 正規表現は数値のみを受け入れます。最初の文字は0にすることはできません および 「0を除くすべての正の整数」の正規表現は何ですか しかし、それは機能しませんでした私の要件ごと。

正確な6桁の数値が必要ですが、0で始めないでください

私はもう試した

^[1-9][0-9]{6}*$
^([^0][0-9]){6}$
...

微調整が必​​要です。

8
Some Java Guy

_^[1-9][0-9]{6}*$_の問題は、それが無効な正規表現であるという__{6}*_と^([^0][0-9]){6}$のため、 _0_とそれに続くsixの数字ではない任意の文字を許可しています。

使用する

_^[1-9][0-9]{5}$
_

説明:

  1. _^_:アンカーで始まる
  2. _[1-9]_:1から9までの1桁に正確に一致します
  3. _[0-9]{5}_:両端を含む範囲の正確に5桁に一致します_0-9_
  4. _$_:アンカーで終わる

Regex Visualization

Regex101プレイグラウンド

HTML5デモ:

_input:invalid {
  color: red;
}_
_<input type="text" pattern="[1-9][0-9]{5}" />_
23
Tushar

一部のウェブサイトや銀行では、3桁の後にピンコードを配置する習慣があります。 515411と515 411の両方に一致させるには、次のパターンが役立ちます。

^[1-9]{1}[0-9]{2}\s{0,1}[0-9]{3}$
  • ^ [1-9] {1}-PIN 1-9の数字で始まるコード
  • [0-9] {2}-次の2桁は0-9の範囲です
  • \ s {0,1}-一度だけまたはまったく発生しないスペース
  • [0-9] {3} $-最後の3は0-9の範囲の数字である必要があります
0
navule