Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบความถูกต้องของอีเมลใน Python

สมมติว่าเรามีที่อยู่อีเมลเป็นสตริง เราต้องตรวจสอบว่าถูกต้องหรือไม่ตามเงื่อนไขต่อไปนี้:

  • รูปแบบต้องเป็น username@company.domain
  • Username ประกอบด้วยตัวอักษรพิมพ์เล็ก/ใหญ่ ตัวเลข ขีดกลาง (-) และขีดล่าง (_) เท่านั้น
  • Company name ประกอบด้วยตัวอักษรพิมพ์เล็ก/ใหญ่และตัวเลขเท่านั้น
  • Domain ประกอบด้วยตัวอักษรพิมพ์เล็ก/ใหญ่เท่านั้น
  • ความยาวสูงสุดของส่วนขยาย (extension) คือ 3 ตัวอักษร

เราสามารถใช้ Regular Expression (Regex) เพื่อตรวจสอบที่อยู่อีเมล โดยนำเข้าไลบรารี re และใช้ฟังก์ชัน match()

ตัวอย่างเช่น หาก s = "popular_website15@comPany.com" ผลลัพธ์จะเป็น True

ขั้นตอนการแก้ปัญหา

  • pat := รูปแบบ regex "^[a-zA-Z0-9-_]+@[a-zA-Z0-9]+\.[a-z]{1,3}$"
  • ถ้า pat ตรงกับ s ให้คืนค่า True
  • มิฉะนั้นคืนค่า False

ตัวอย่างโค้ด

import re

def solve(s):
    pat = "^[a-zA-Z0-9-_]+@[a-zA-Z0-9]+\.[a-z]{1,3}$"
    if re.match(pat, s):
        return True
    return False

s = "popular_website15@comPany.com"
print(solve(s))

อินพุต

"popular_website15@comPany.com"

เอาต์พุต

True