11

正規表現を試してみましたが、数値のみを受け入れます。最初の文字を 0 にすることはできません。また、「0 を除く任意の正の整数」の正規表現とは何ですか?

正確な 6 桁の数字が欲しいのですが、先頭に付けるべきではありません0

私はもう試した

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

微調整が必​​要です。

4

3 に答える 3

44

の問題^[1-9][0-9]{6}*$は、 andが原因で無効な正規表現であることであり、その後に6桁の数字が続かない任意の文字を許可していることです。{6}*^([^0][0-9]){6}$0

使用する

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

説明:

  1. ^: アンカーで始まる
  2. [1-9]: 1 から 9 までの 1 桁の数字に一致
  3. [0-9]{5}: 範囲内の正確に 5 桁に一致0-9
  4. $: アンカーで終了

正規表現の可視化

Regex101プレイグラウンド

HTML5 デモ:

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

于 2015-11-23T07:19:14.770 に答える
0

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

^[1-9]{1}[0-9]{2}\s{0,1}[0-9]{3}$
  • ^[1-9]{1} - 1 ~ 9 の数字で始まる PIN コード
  • [0-9]{2} - 次の 2 桁は 0-9 の範囲です
  • \s{0,1} - 1 回またはまったく発生しないスペース
  • [0-9]{3}$ - 最後の 3 桁は 0 ~ 9 の範囲の数字である必要があります
于 2019-08-25T07:06:54.813 に答える