CRM жана маалымат платформаларыЭлектрондук почта маркетинги жана автоматташтыруу

Кадимки туюнтмалар (Regex) менен электрондук почта дарегин кантип текшерүү керек. Үлгү HTML5, PHP, C#, Python жана Java Code.

Дээрлик ар бир программалоо тили бүгүнкү күндө кадимки туюнтмаларды колдойт. Кээ бир иштеп чыгуучулар аларды жактырбаса да, алар чындап эле эң мыкты тажрыйба болуп саналат, анткени алар адатта валидация сыяктуу функцияларды азыраак сервердик ресурстар менен өтө тез аткарышат. Электрондук почта даректери эң сонун үлгү… мында алардын туура форматталганын текшерүү үчүн оңой текшерсе болот.

Текшерүү эмес экенин эстен чыгарбоо керек текшерүү. Текшерүү жөн гана берилген маалыматтар туура курулган стандарттык форматка ылайык келерин билдирет. Электрондук почта даректери жөнүндө кээ бир кызыктуу нерселер, текшерүүдөн кийин өткөрүп жиберилиши мүмкүн.

Электрондук почта дареги деген эмне?

Интернет билдирүү форматында аныкталган электрондук почта дареги (RFC 5322), эки негизги бөлүктөн турат: жергиликтүү бөлүк жана домен бөлүгү. Жергиликтүү бөлүктөн мурун келет @ белгиси жана домен бөлүгү кийин келет. Бул жерде электрондук почта дарегинин мисалы: example@example.comкайда example жергиликтүү бөлүгү болуп саналат жана example.com домен бөлүгү болуп саналат.

  • жергиликтүү – Электрондук почта дарегинин жергиликтүү бөлүгү алфавиттик-сандык белгилердин, чекиттердин, дефистердин, кошумча белгилердин жана астынкы сызыктардын айкалышын камтышы мүмкүн. Ал, адатта, сервердеги белгилүү бир почта ящикти же каттоо эсебин аныктоо үчүн колдонулат.
  • домен – Электрондук почта дарегинин домен бөлүгү домендик аталыштан жана анын жогорку деңгээлдеги доменинен турат (TLD). Домендик аталыш - бул электрондук почта эсебин жайгаштыруучу серверди аныктоочу символдордун тизмеги. TLD домендик аталыш үчүн жооптуу субъекттин түрүн көрсөтөт, мисалы, өлкөнүн коду (мис .uk) же жалпы жогорку деңгээлдеги домен (мис .com, .org).

Бул электрондук почта дарегинин негизги түзүмү болсо да, жарактуу электрондук почта дарегин түзгөн эрежелер татаал.

Электрондук почтанын дареги канча убакытка созулушу мүмкүн?

Бүгүн аны табыш үчүн бир аз казышым керек болчу, бирок сиз электрондук почтанын дарегинин жарактуу узактыгын билдиңиз беле? Бул чындыгында бөлүктөргө бөлүнүп кетти ... Local@Domain.com.

  1. Жергиликтүү 1ден 64кө чейин символдон турушу мүмкүн.
  2. Домен 1ден 255ке чейин болушу мүмкүн.

Бул - техникалык жактан - бул жарактуу электрондук почта дареги болушу мүмкүн дегенди билдирет:

loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc@loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Муну визиттик картага түшүрүп көрүңүз! Таң калыштуусу, көпчүлүк электрондук почта даректери желеде 100 белги менен чектелген… бул техникалык жактан туура эмес. Электрондук почта даректерин текшерүү үчүн колдонулган башка кадимки туюнтмалардын айрымдары .com сыяктуу 3 орундуу жогорку деңгээлдеги доменди издешет; бирок, узундугу үчүн эч кандай чектөө жок жогорку деңгээлдеги домендер (мис. Martech Zone 4 цифрага ээ – .зона).

Туруктуу сөздөр

RegEx программалык түзүлүшү үчүн электрондук почта дарегин сыноо үчүн идеалдуу ыкма болуп саналат. Регулярдуу туюнтмалар программалоо тилдеринде жана тексттик редакторлордо кеңири колдонулат жана көбүнчө текстти иштетүүчү китепканаларга же алкактарга бириктирилет. Алар башкалардын арасында Python, Java, C# жана JavaScript сыяктуу көптөгөн программалоо тилдери тарабынан колдоого алынат.

Электрондук почта дарегин стандартташтыруу сиз түшүнгөндөн алда канча татаал. Стандартка жазылганда, бул жерде электрондук почта дареги үчүн чыныгы регулярдуу сөз айкашы, кредит 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])?

Бул кадимки туюнтма үлгүсү электрондук почта дарегинин негизги форматына дал келет, анын ичинде алфавиттик-сандык символдор, чекиттер, дефистер, плюс белгилери жана колдонуучунун атындагы астынкы сызыктар, андан кийин @ белгиси, андан кийин домен аты. Бул үлгү электрондук почта дарегинин форматын гана текшерип, анык эмес экенин белгилей кетүү маанилүү бар электрондук почта дареги.

HTML5 электрондук почта түзүмүн текшерүүнү камтыйт

Электрондук почтанын стандартка ылайык жарактуу болушун камсыз кылуунун эң оңой жолу HTML5 электрондук почта киргизүү талаасын колдонуу:

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

Кээде веб-тиркемеңиз браузерге киргенде да, сервериңизге берилгенде да электрондук почтанын дарегин текшергиси келет.

PHPде туура электрондук почта дареги үчүн Regex

Муну аз эле адамдар түшүнөт, бирок PHP азыр RFC стандартына ээ чыпка текшерүү функциясы.

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

C# тилинде туура электрондук почта дареги үчүн Regex

Бул жерде 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);
    }
}

Бул ыкманы практикалык колдонуу:

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.");
}

Java'да туура электрондук почта дареги үчүн Regex

Бул жерде 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();
    }
}

Бул ыкманы практикалык колдонуу:

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.");
}

Pythonдо туура электрондук почта дареги үчүн Regex

Бул жерде 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

Бул ыкманы практикалык колдонуу:

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.")

JavaScript'те туура электрондук почта дареги үчүн Regex

Электрондук почта дарегинин түзүмүн текшерүү үчүн өтө татаал стандартка ээ болуунун кажети жок. Бул жерде JavaScript колдонуунун жөнөкөй каражаты.

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

Албетте, бул RFC стандартына туура келбейт, андыктан анын жарактуу экенине ынануу үчүн маалыматтардын ар бир бөлүмүн текшерүүнү кааласаңыз болот. Бул кадимки сөз айкашы ал жердеги электрондук почта даректеринин 99.9% туура келет. Бул толугу менен стандарттуу эмес, бирок дээрлик бардык долбоор үчүн пайдалуу.

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);
}

Бул мисалдардын кээ бирлери үчүн насыя кетет HTML.form.guide.

Douglas Karr

Douglas Karr CMO болуп саналат OpenINSIGHTS жана негиздөөчүсү Martech Zone. Дуглас ондогон ийгиликтүү MarTech стартаптарына жардам берди, Martech сатып алууларына жана инвестицияларына 5 миллиард доллардан ашык каражатты текшерүүгө жардам берди жана компанияларга сатуу жана маркетинг стратегияларын ишке ашырууда жана автоматташтырууда жардам берүүнү улантууда. Дуглас эл аралык деңгээлде таанылган санариптик трансформация жана MarTech эксперти жана спикери. Дуглас ошондой эле Dummie's guide жана бизнес лидерлик китебинин басылып чыккан автору.

Тектеш макалалар

Артка жогорку баскычы
жакын

Adblock аныкталды

Martech Zone Бул мазмунду сизге эч кандай акы төлөбөй бере алат, анткени биз сайтыбызды жарнамадан түшкөн киреше, өнөктөштүк шилтемелер жана демөөрчүлүк аркылуу акча табабыз. Биздин сайтты көрүп жатканыңызда жарнама блокаторуңузду алып салсаңыз, биз ыраазыбыз.