3

ユーザーの電話番号を検証するために RegEx を使用していました。電話番号検証の一連の要件があります。RegEXについてはよくわかりません。私の要件に一致するreqexを提供するのを手伝ってくれる人はいますか。ここでの検証は非常に簡単です。

条件

 1. It should allow numbers from 0-9.
 2. It should allow + sign. (+ sign is not mandatory but not allow after even a single letter (ie: should be placed at front.)).
 3. It should allow - sign. (- sign is also not mandatory and can be placed anywhere)
 4. It should allow empty space everywhere.
 5. No dots or no other chars allowed except the above said things.

正しい値

+65-12345678
65-12345678
6512345678
65 12345678
65 123 45678
65 123-45678
+65 123-45678
1234

不適切な値

12345+86666
123alpha

ありがとう

4

3 に答える 3

7

サンプルに基づいて、これを試してください:

^(?:\+?\d{2}[ -]?\d{3}[ -]?\d{5}|\d{4})$

すべての正しい値に一致します。

説明:

正規表現の視覚化

デモ:

http://regexr.com?340nf

于 2013-03-05T11:02:07.213 に答える
6

いくつかの概念を構築するのに役立ちます。
次の正規表現は、指定した最初の 7 つの入力と一致します。

/^\+?\d{2}[- ]?\d{3}[- ]?\d{5}$/

\+?+記号に一致します。その?中の は、+記号をオプションにします。
\d{2}2 桁の数字
[- ]?に一致 a-または a (スペース) に一致。または(スペース)?の出現をオプションにします。次に、5 桁に一致します。とは開始アンカーと終了アンカーです。-
\d{5}
^$

于 2013-03-05T11:04:02.467 に答える
2

あなたのサンプルに基づいて、このパターンを試してください。

^(?:\+?\d{2}[ -]?[\d -][\d -]+)$
于 2013-03-05T11:11:42.017 に答える