#エラー発生!!!
pythonにて、無効なメールアドレスをはじくメソッドを書いていました。
def isValidEmail(email):
if email[0] == '@':
return False
elif ' ' in email:
return False
elif email.count('@') > 1:
return False
elif email['@':].count('.') < 1:
return False
else:
return True
条件の4個目の「@」以降に「.」が無いメールアドレスをはじく条件を付けたかったのですが、エラーになりました。
エラー内容は「slice indices must be integers or None or have an __ index __ method」
となっておりました。
どうやらスライスの中身は整数である必要があるとのこと。
#解決策
事前に@以降のドメイン名を切り出した変数を用意し、その中で「.」を検索することとしました。成功!
def isValidEmail(email):
domain = email.find('@')
if email[0] == '@':
return False
elif ' ' in email:
return False
elif email.count('@') > 1:
return False
elif email[domain:].count('.') < 1:
return False
else:
return True
根本的な解決ではないかもしれませんが、とりあえず解決!