📜  练习电话号码python代码示例

📅  最后修改于: 2022-03-11 14:45:52.400000             🧑  作者: Mango

代码示例1
import re

class PhoneNumber:
    def __init__(self, number):
      self.number = re.sub(r"^[\+1]|[\.\s\-\(\)]", "", number)
      self.number = self.validate(self.number)
      self.area_code = self.number[:3]
      self.exchange_code = self.number[3:6]
      self.suscriber_num= self.number[6:]

    def validate(self, number):
      length = len(number)

      if length < 10 or length > 11:
        raise ValueError("Wrong Number Length")

      if length == 11:
        if number[0] != '1':
          raise ValueError("Incorrect country code")
        else:
          number = number[1:]

      if re.findall("[A-z]", number):
        raise ValueError("Incorrect Number: alpha inside")

      if int(number[0]) <= 1 or int(number[3]) <= 1:
        raise ValueError("Incorrect Number")

      return number

    def pretty(self):
      return f"({self.area_code})-{self.exchange_code}-{self.suscriber_num}"


# print(PhoneNumber("(223) 456-7890").number)
# print(PhoneNumber("(223) 456-7890").area_code)
# print(PhoneNumber("(223) 45a-7890").number)