Menu
CoddyTech

Tên miền

Bài học 4 trên 8 trong khóa học Trình kiểm tra email bằng Python của Coddy.

john@gmail.com

Phần in đậm là tên miền (domain name).

Tên miền là một chuỗi chữ cái và chữ số xác định một không gian trên Internet thuộc sở hữu và quyền kiểm soát của một nhà cung cấp hộp thư hoặc tổ chức cụ thể.

Tên miền có thể dài tối đa 253 ký tự và gồm:

  • Chữ cái tiếng Anh viết hoa và viết thường (A-Z, a-z)
  • Các chữ số từ 0 đến 9 
  • Dấu gạch nối (-)
  • Dấu chấm (.)  (dùng để xác định tên miền phụ; ví dụ:  creator.coddy)
challenge icon

Thử thách

Dễ

Thêm hỗ trợ kiểm tra tên miền vào validate.

Trong hàm kiểm tra của chúng ta, ta sẽ dùng các quy tắc đơn giản hơn: tên người nhận phải có tối đa 12 ký tự và tối thiểu 3 ký tự, đồng thời chỉ gồm:

  • Chữ cái tiếng Anh viết hoa và viết thường (A-Z, a-z)
  • Chữ số từ 0 đến 9
  • Dấu gạch nối (-)

Như trước đây, hàm validate sẽ trả về true nếu email đầu vào hợp lệ, và giờ đây cũng cần kiểm tra tên miền.

Bạn không cần hỗ trợ tên miền phụ. Có thể giả định rằng không có tên miền nào chứa dấu chấm (.)

Tự làm thử

PERMITS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._'

def validate(email):
    if not email.count('@') == 1:
        return False

    recipient_name = email.split('@')[0]
    if len(recipient_name) > 24 or len(recipient_name) <= 3:
        return False
    for c in recipient_name:
        if c not in PERMITS:
            return False
    if '.' == recipient_name[0] or '.' == recipient_name[-1] or '_' == recipient_name[0] or '_' == recipient_name[-1]:
        return False
    return True
    

Tất cả bài học trong Trình kiểm tra email bằng Python

Tự luyện tập: Trình biên dịch Python online