Paano Patunayan ang Mga Email Address sa isang PHP Script

Mga email address: madaling lumikha, mahirap i-type.

Maraming maaaring magkamali. Maraming maaaring tumingin sa lahat ng mali at maging maayos. Magkano ang maaaring tumingin ng tama at hindi gumagana sa lahat.

Pagkuha ng mga email address na kinokolekta mo - para sa isang newsletter, sabihin, o para sa pagkuha ng password - upang hindi bababa sa sumusunod sa mga pamantayan (kung hindi matiyak) ay mahalaga, siyempre, at lubos na nakakalito.

Sa kabutihang palad, ang PHP (5 at mas bago) ay may isang madaling gamitin na hanay ng mga pag-andar at filter na gumagawa ng pagsusuri para sa validity ng email address na isang snap.

Patunayan ang Mga Email Address sa isang PHP Script

Upang patunayan ang isang email address para sa kawastuhan (hindi sinusuri kung ang address ay aktwal na gumagana at basahin) sa PHP:

FILTER_VALIDATE_EMAIL PHP Email Address Validation Caveats

Tandaan na papatunayan ng FILTER_VALIDATE_EMAIL ang mga email address na naglalaman ng mga domain at mga domain ng nangungunang antas na hindi umiiral. Kung nais mong maiwasan ang mga ito, maaari mong subukan ang mga top-level na mga domain na higit sa 4 na character ang haba (na kung saan ay magkakamali magtapon ng ".museum"), o para sa mga pangalan ng domain na alinman sa 2 character na mahaba (lahat ng bansa top- level na mga domain) o isa sa mga kilalang mga domain ng nangungunang antas (na dapat mong i-update bilang mga pagbabago sa listahan).

Maling mali ang FILTER_VALIDATE_EMAIL sa mga email address na may matagal na mga pangalan ng domain (64 character o higit pa), at sa mga email address na may nakaligtaan na mga character (tulad ng "me \" @ example.com "). Upang maiwasan ang mga maling mga positibo na ito , maaari mong buksan klase tulad ng php-email-address-validation.

Mga Halimbawa ng Validation ng Email Address ng FILTER_VALIDATE_EMAIL

Ipagpalagay na ang $ email_address ay may hawak na address na naka-check, maaari mong subukan ang bisa nito gamit ang:

Maaari mo ring i-filter ang isang email address diretso mula sa web form (ipagpalagay na ang email address ay nakuha sa patlang na may pangalan na "email"):