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)
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