Python validate phone number


def validate_phone_number(phone_number):

    formatted_number = ''

    split_phone = phone_number.split('x')

    if len(split_phone) > 1:

        phone_number = split_phone[0]

        extension = split_phone[1]

    else:

        phone_number = split_phone[0]

        extension = None

    stripped_number = re.sub(r"\D", "", phone_number)

    if len(stripped_number) == 10:

        formatted_number = "(%s%s%s) %s%s%s-%s%s%s%s" % tuple(stripped_number)

    elif len(stripped_number) == 11:

        formatted_number = "%s (%s%s%s) %s%s%s-%s%s%s%s" % tuple(stripped_number)

    if extension:

        formatted_number = formatted_number + " x" + re.sub(r"\D", "", extension)



    return formatted_number

2223334444 => (222) 333-4444

222 333 4444 => (222) 333-4444

12223334444 => 1 (222) 333-4444

1 222 333 4444 => 1 (222) 333-4444

12223334444x55 => 1 (222) 333-4444 x55

1 222 333 4444 x55 => 1 (222) 333-4444 x55

Leave a Comment