数字の電話番号 (例: 1234567890) と GB 形式の番号 (例: 123-456-7890) のみを許可する正規表現コードが必要です。
この式は、両方の条件で機能する必要があります。
現在、GBの電話番号のみを許可する以下の正規表現を使用しています
/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
数値のみを許可するには助けが必要です。
数字の電話番号 (例: 1234567890) と GB 形式の番号 (例: 123-456-7890) のみを許可する正規表現コードが必要です。
この式は、両方の条件で機能する必要があります。
現在、GBの電話番号のみを許可する以下の正規表現を使用しています
/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/
数値のみを許可するには助けが必要です。
英国の電話番号には11桁の数字を含める必要があります
英国の電話番号は通常、0トランクコードまたは+44国コードを含まない9桁または10桁です。いくつかは7桁しかありません。
通常は(01234)123123の形式です
この例は、UK 4+6フォーマット番号を示しています。英国では、地理的な数値には2 + 8、3 + 7、4 + 6、4 + 5、5 + 5、5 + 4、非地理的な数値には0 + 10、0 + 9、0+7などのさまざまな形式が使用されています。数字。
便利なリストがあります:
http://www.aa-asterisk.org.uk/index.php/Number_format
英国の電話番号を任意の形式で一致させる
^(?:(?:\(?(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?(?:\(?0\)?[\s-]?)?)|(?:\(?0))(?:(?:\d{5}\)?[\s-]?\d{4,5})|(?:\d{4}\)?[\s-]?(?:\d{5}|\d{3}[\s-]?\d{3}))|(?:\d{3}\)?[\s-]?\d{3}[\s-]?\d{3,4})|(?:\d{2}\)?[\s-]?\d{4}[\s-]?\d{4}))(?:[\s-]?(?:x|ext\.?|\#)\d{3,4})?$
上記のパターンにより、ユーザーは使いやすい任意の形式で番号を入力できます。ユーザーが特定の形式を入力するように制限しないでください。
NSN、プレフィックス、拡張子を抽出します
^(\(?(?:0(?:0|11)\)?[\s-]?\(?|\+)(44)\)?[\s-]?)?\(?0?(?:\)[\s-]?)?([1-9]\d{1,4}\)?[\d[\s-]]+)((?:x|ext\.?|\#)\d{3,4})?$
国際フォーマットが使用された場合、$ 2は「44」になります。それ以外の場合は、国内フォーマットを想定します。
$ 4には、存在する場合は内線番号が含まれます。
$3にはNSN部分が含まれています。
検証とフォーマット
さらにRegExパターンを使用して、NSNがこの番号範囲に対して正しい桁数を持っていることを確認します。最後に、番号をE.164形式で保存するか、E.123形式で表示します。
英国の数値の検証および表示フォーマットの正規表現パターンの非常に詳細なリストは、次の場所にあります。
ここで複製するには長すぎるため、このドキュメントの複数のコピーを維持することは困難です。
ここには英国の電話番号の正規表現がいくつかあります。
そのページで最も評価の高いものは次のとおりです。
^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$
次のように説明されています。
Matches +447222555555 | +44 7222 555 555 | (0722) 5555555 #2222
Non-Matches (+447222)555555 | +44(7222)555555 | (0722) 5555555 #22
個人的には、身元確認や支払いに関連するもののためにユーザーの実際の電話番号が絶対に必要でない限り、電話番号に厳密な正規表現を付けることはしません。電話番号にはさまざまなバリエーションがあり、一部のユーザーは Skype をプライマリ電話として使用することさえできます。検証を行うことで、ユーザーをブロック/フラストレーションするだけです.
また、英国の形式が間違っていることに注意してください。英国の電話番号は 11 桁で、通常は (01234) 123123 の形式です。ダッシュは使用せず、最初の番号は常に 0 にする必要があります。