2017-02-10 7 views
-2

を検証するために、私はこの使用して再pythonでメール

import re 

rule = "[A-Z+][\@][A-Z+][\.][A-Z+]" 

inputu = input ("please enter your email:").upper() 

if re.search (rule, inputu): 
    print ("Invalid") 

else: 
    print ("Valid") 

を修正すればどのように私はその後-Z、あなたが-Zを置くことができるので、それを作るために試してみたい、それは、@を探します。

rule = r"[A-Z]+\@[A-Z]+\.[A-Z]+" 

しかし、電子メールアドレスはまた、数字やピリオドなどの他の文字を持つことができることに注意してください。そして、あなたが何をしたいのか、その仕事をするために-Z

+1

...問題の説明は何ですか? – leekaiinthesky

+2

電子メールアドレスを検証する方法は、確認メールを送信して、ユーザーが確認を行うかどうかを確認することです。フォーマットを検証しようとすると、偽陰性につながるだけで実際のメリットはありません。 – user2357112

+0

[Pythonが有効な電子メールアドレスを確認していますか?](http://stackoverflow.com/questions/8022530/python-check-for-valid-email-address) –

答えて

0

は括弧の外にあるプラス記号を移動しています。あなたは、文字、数字、ピリオド、アンダースコア、ダッシュ、プラス記号、スペースまたはシングルまたはダブルで作られたいくつかの部分文字列を持っている文字列の先頭にそれをチェックします

rule = r"^[A-Z0-9\._+ '\"-]+\@[A-Z0-9]+\.[A-Z0-9]+" 

:より良いルールは次のようなものになるだろう引用符。それから@。次に文字と数字からなる別の部分文字列。その後、ある期間。最後に文字列の最後に文字で完全に作られた別の部分文字列。

しかし、これはまだアドレスが有効であるとは限りません。それだけかもしれない。あなたが実際にメールアドレスを検証する必要がある場合、唯一の方法は、それらに電子メールを送信し、応答させることです。

+1

[標準](https: //tools.ietf.org/html/rfc5322#section-3.4)。さもなければ、あなたは '' djt jr "@wh.gov'を見逃しているかもしれません。引用符と埋め込みスペースに注意してください。また、TLDの長さチェックはなぜですか? 'ansel @ adams.photography'はどうですか? –

+0

乾杯。すべてのオプションを知っているようなことはしていませんでしたが、単にそれがより良いルールになることを示唆しています。私は答えを更新します。 – Batman

+0

ありがとうございます!しかし、私はちょうどその形式と理論的に賛同しているので、それが本当ではない –

関連する問題