Методы проверки номеров телефонов в Швейцарии с использованием примеров кода Regex и Python

Чтобы создать шаблон регулярного выражения для телефонных номеров в Швейцарии, вы можете использовать следующие методы:

Метод 1: использование базового шаблона

import re
pattern = r'^\+41\d{9}$'
phone_number = "+41791234567"
if re.match(pattern, phone_number):
    print("Valid phone number")
else:
    print("Invalid phone number")

Метод 2: использование более гибкого шаблона

import re
pattern = r'^(?:\+|00)(?:41\s?|0)(?:\d{2}\s?\d{3}\s?\d{2}\s?\d{2}|\d{3}\s?\d{2}\s?\d{2}\s?\d{2}|\d{2}\s?\d{3}\s?\d{2}\s?\d{2}|\d{3}\s?\d{3}\s?\d{2})$'
phone_number = "+41 79 123 45 67"
if re.match(pattern, phone_number):
    print("Valid phone number")
else:
    print("Invalid phone number")

Метод 3. Использование библиотеки телефонных номеров

import phonenumbers
phone_number = "+41791234567"
try:
    parsed_number = phonenumbers.parse(phone_number, "CH")
    if phonenumbers.is_valid_number(parsed_number):
        print("Valid phone number")
    else:
        print("Invalid phone number")
except phonenumbers.phonenumberutil.NumberParseException:
    print("Invalid phone number")

В первом методе шаблон r'^\+41\d{9}$'соответствует номерам телефонов, которые начинаются с “+41”, за которыми следуют ровно 9 цифр.

Второй метод использует более гибкий шаблон r'^(?:\+|00)(?:41\s?|0)(?:\d{2}\s?\d{3 }\s?\d{2}\s?\d{2}|\d{3}\s?\d{2}\s?\d{2}\s?\d{2}|\d {2}\s?\d{3}\s?\d{2}\s?\d{2}|\d{3}\s?\d{3}\s?\d{2}) $'для сопоставления телефонных номеров в различных форматах, в том числе с пробелами между цифрами или без них.

Третий метод использует библиотеку phonenumbers, которая обеспечивает более комплексный подход к анализу и проверке телефонных номеров. Сначала он анализирует номер телефона, используя код страны «CH» для Швейцарии, а затем проверяет, является ли это действительным номером.