CRM at Mga Platform ng DataEmail Marketing at Automation

Paano Patunayan ang Isang Email Address Gamit ang Mga Regular na Expression (Regex). Sample ng HTML5, PHP, C#, Python, at Java Code.

Halos lahat ng programming language ay sumusuporta sa mga regular na expression sa kasalukuyan. Bagama't ang ilang mga developer ay hindi gusto ang mga ito, sila ay talagang isang pinakamahusay na kasanayan dahil sila ay karaniwang gumaganap ng mga function tulad ng pagpapatunay na napakabilis na may mas kaunting mga mapagkukunan ng server. Ang mga email address ay isang perpektong halimbawa... kung saan madali silang masusuri upang matiyak na maayos ang pagkaka-format ng mga ito.

Tandaan na ang pagpapatunay ay hindi beripikasyon. Ang pagpapatunay ay nangangahulugan lamang na ang data na ipinasa ay sumusunod sa isang karaniwang format na wastong ginawa. Ilang kawili-wiling bagay tungkol sa mga email address na maaaring mapalampas sa pagpapatunay.

Ano ang isang Email Address?

Isang email address, gaya ng tinukoy ng Internet Message Format (RFC 5322), ay binubuo ng dalawang pangunahing bahagi: isang lokal na bahagi at isang bahagi ng domain. Ang lokal na bahagi ay nauuna sa @ simbolo at kasunod ang bahagi ng domain. Narito ang isang halimbawa ng isang email address: example@example.com, Kung saan example ay ang lokal na bahagi at example.com ay ang bahagi ng domain.

  • Lokal – Ang lokal na bahagi ng isang email address ay maaaring maglaman ng kumbinasyon ng mga alphanumeric na character, tuldok, gitling, plus sign, at underscore. Karaniwan itong ginagamit upang tukuyin ang isang partikular na mailbox o account sa isang server.
  • Domain – Ang bahagi ng domain ng isang email address ay binubuo ng domain name at ang top-level na domain nito (TLD). Ang domain name ay isang string ng mga character na tumutukoy sa server na nagho-host ng email account. Tinutukoy ng TLD ang uri ng entity na responsable para sa domain name, gaya ng country code (hal .uk) o isang generic na top-level na domain (hal .com, .org).

Bagama't ito ang pangunahing istraktura ng isang email address, ang mga patakaran para sa kung ano ang bumubuo sa isang wastong email address ay kumplikado.

Gaano Katagal Ang Isang Email Address?

Kailangan kong gumawa ng paghuhukay ngayon upang hanapin ito, ngunit alam mo ba kung ano ang wastong haba ng isang email address? Talagang pinaghiwa-hiwalay ito ... Local@Domain.com.

  1. Ang lokal ay maaaring 1 hanggang 64 na character.
  2. Ang domain ay maaaring maging 1 hanggang 255 na mga character.

Nangangahulugan iyon na - sa teknikal - maaaring ito ay isang wastong email address:

loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Subukang ilagay iyon sa isang business card! Kabalintunaan, karamihan sa mga field ng email address ay limitado sa 100 character sa web... na teknikal na hindi tama. Ang ilan sa iba pang mga regular na expression na ginagamit upang patunayan ang mga email address ay naghahanap din ng isang 3-digit na top-level na domain, tulad ng .com; gayunpaman, walang limitasyon sa haba ng mga top-level na domain (eg. Martech Zone may 4 na digit – .zone).

Mga Regular na Pagpapahayag

RegEx ay isang perpektong paraan para sa pagsubok ng isang email address dahil sa programmatic na istraktura nito. Ang mga regular na expression ay malawakang ginagamit sa mga programming language at text editor at kadalasang isinama sa mga text-processing library o frameworks. Ang mga ito ay sinusuportahan ng maraming mga programming language, kabilang ang Python, Java, C#, at JavaScript, bukod sa iba pa.

Ang standardisasyon ng email address ay mas kumplikado kaysa sa iyong napagtanto. Kapag nakasulat sa pamantayan, narito ang totoong regular na expression para sa isang email address, credit sa Regexr:

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

Ang pattern ng regular na expression na ito ay tumutugma sa pangunahing format ng isang email address, kabilang ang mga alphanumeric na character, tuldok, gitling, plus sign, at underscore sa username, na sinusundan ng isang @ simbolo, na sinusundan ng isang domain name. Mahalagang tandaan na susuriin lamang ng pattern na ito ang format ng email address at hindi ang aktwal pagkakaroon ng email address.

Kasama sa HTML5 ang Pagpapatunay ng Structure ng Email

Ang pinakamadaling paraan upang matiyak na ang isang email ay wasto ayon sa pamantayan ay sa pamamagitan ng paggamit ng isang HTML5 email input field:

<input type='email' name='email' placeholder='name@domain.com' />

Gayunpaman, may mga pagkakataon na gugustuhin pa rin ng iyong web application na patunayan ang email address sa browser kapag ipinasok at kapag naisumite sa iyong server.

Regex Para sa Wastong Email Address sa PHP

Ilang tao ang nakakaalam nito, ngunit ang PHP ay mayroon na ngayong RFC standard na nakapaloob dito pag-andar ng pagpapatunay ng filter.

if(filter_var("name@domain.com", FILTER_VALIDATE_EMAIL)) {
    // Valid
}
else {
    // Not Valid
}

Regex Para sa Wastong Email Address sa C#

Narito ang pangunahing pagpapatunay ng isang email address sa C#

using System;
using System.Text.RegularExpressions;

public class EmailValidator
{
    public static bool IsValidEmail(string email)
    {
        string pattern = @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$";
        return Regex.IsMatch(email, pattern);
    }
}

Praktikal na paggamit ng pamamaraang ito:

string email = "example@example.com";
if (EmailValidator.IsValidEmail(email))
{
    Console.WriteLine(email + " is a valid email address.");
}
else
{
    Console.WriteLine(email + " is not a valid email address.");
}

Regex Para sa Wastong Email Address sa Java

Narito ang pangunahing pagpapatunay ng isang email address sa Java

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {
    private static final Pattern VALID_EMAIL_ADDRESS_REGEX = 
        Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);

    public static boolean isValidEmail(String email) {
        Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(email);
        return matcher.find();
    }
}

Praktikal na paggamit ng pamamaraang ito:

String email = "example@example.com";
if (EmailValidator.isValidEmail(email)) {
    System.out.println(email + " is a valid email address.");
} else {
    System.out.println(email + " is not a valid email address.");
}

Regex Para sa Wastong Email Address sa Python

Narito ang isang pangunahing pagpapatunay ng isang email address sa Python:

import re

def is_valid_email(email):
    pattern = re.compile(r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$')
    return True if pattern.match(email) else False

Praktikal na paggamit ng pamamaraang ito:

email = "example@example.com"
if is_valid_email(email):
    print(f"{email} is a valid email address.")
else:
    print(f"{email} is not a valid email address.")

Regex Para sa Wastong Email Address sa JavaScript

Hindi mo kailangang magkaroon ng sobrang kumplikadong pamantayan para sa pagsuri ng istraktura ng email address. Narito ang isang simpleng paraan ng paggamit ng JavaScript.

function validateEmail(email) 
{
    var re = /\\S+@\\S+/;
    return re.test(email);
}

Siyempre, hindi iyon sa pamantayan ng RFC, kaya maaari mong hilingin na patunayan ang bawat seksyon ng data upang matiyak na ito ay wasto. Ang regular na expression na ito ay susunod sa humigit-kumulang 99.9% ng mga email address sa labas. Ito ay hindi ganap sa pamantayan, ngunit ito ay kapaki-pakinabang para sa halos anumang proyekto.

function validateEmail(email) 
{
  var re = /^(?:[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/;

  return re.test(email);
}

Ang kredito para sa ilan sa mga halimbawang ito ay napupunta sa HTML.form.gabay.

Douglas Karr

Douglas Karr ay CMO ng OpenINSIGHTS at ang nagtatag ng Martech Zone. Nakatulong si Douglas sa dose-dosenang matagumpay na mga startup ng MarTech, tumulong sa angkop na pagsusumikap ng higit sa $5 bil sa mga pagkuha at pamumuhunan ng Martech, at patuloy na tinutulungan ang mga kumpanya sa pagpapatupad at pag-automate ng kanilang mga diskarte sa pagbebenta at marketing. Si Douglas ay isang kinikilalang internasyonal na digital na pagbabago at eksperto at tagapagsalita ng MarTech. Si Douglas ay isa ring nai-publish na may-akda ng isang Dummie's guide at isang business leadership book.

Kaugnay na Artikulo

Bumalik sa tuktok na pindutan
Pagsasara

Natukoy ang Adblock

Martech Zone ay kayang ibigay sa iyo ang nilalamang ito nang walang bayad dahil pinagkakakitaan namin ang aming site sa pamamagitan ng kita ng ad, mga link na kaakibat, at mga sponsorship. Ikinalulugod namin kung aalisin mo ang iyong ad blocker habang tinitingnan mo ang aming site.