電話番号の長さを 2 つの条件だけで検証する正規表現を作成したいと思います。まず、長さが 10 である必要があります。
文字列の長さは 10 桁で、次のような任意の数字にすることができます
4345623467
文字列の長さが 11 の場合は、1 のように開始する必要があります。
14345623467
長さは 10 または 11 です。他の長さは無効です。
助けてくれてありがとう。
より単純なもの: オプションの1
後に 10 桁が続く
/^1?\d{10}$/
次の正規表現は、「1」で始まる 10 桁または 11 桁のシーケンス、または正確に 10 桁の任意のシーケンスに一致します。
/^(?:1\d{9,10}|\d{10})$/
正規表現でより強くなることができるように、これがどのように分解されるかを次に示します。
/^(?:1\d{9,10}|\d{10})$/
│├─┘ ├──────┘ ├────┘ └ The end of the string.
││ │ └ Any digit repeated exactly ten times.
││ └ Any digit (0-9) repeated nine or ten times.
│└ A non-matching group of two possible matches separated by a pipe (?:...|...)
└ The start of the string.
それはそれを行う必要があります:
/^(\d{10}|1\d{10})$/