รหัสผ่านไม่ถูกต้อง
งานส่วนที่สองของโปรเจกต์เว็บไซต์คือการเขียนสคริปต์สำหรับตรวจสอบความถูกต้องของรหัสผ่านที่ผู้ใช้ป้อนเข้ามา บริษัทกำหนดกฎสำหรับรหัสผ่านที่ถูกต้องดังนี้:
- ใช้ตัวพิมพ์เล็ก
a-zและตัวพิมพ์ใหญ่A-Zได้ - ใช้ตัวเลขได้
- ใช้สัญลักษณ์ต่อไปนี้ได้:
*,#,$,%,!,&,. - ต้องมีความยาวอย่างน้อย 8 ตัวอักษร แต่ไม่เกิน 20 ตัวอักษร
เพื่อนร่วมงานได้ให้รายชื่อรหัสผ่านมาให้ทดสอบด้วย
รายการ passwords และโมดูล re ถูกโหลดไว้ในเซสชันแล้ว สามารถใช้ print(passwords) เพื่อดูข้อมูลใน IPython Shell
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Regular Expressions ใน Python
คำแนะนำการฝึกหัด
- เขียน regular expression เพื่อตรวจสอบว่ารหัสผ่านถูกต้องตามเงื่อนไขที่กำหนดหรือไม่
- ค้นหาสมาชิกแต่ละตัวในรายการ
passwordsเพื่อตรวจสอบว่าเป็นรหัสผ่านที่ถูกต้องหรือไม่ - เติมคำสั่ง
.format()ให้ครบเพื่อแสดงข้อความระบุว่ารหัสผ่านนั้นถูกต้องหรือไม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Write a regex to check if the password is valid
regex = ____"[____]____"
for example in passwords:
# Scan the strings to find a match
if re.____(____, ____):
# Complete the format method to print out the result
print("The password {____} is a valid password".format(pass_example=____))
else:
print("The password {____} is invalid".format(pass_example=____))