Θα πάμε κατευθείαν στη σύντομη απάντηση και θα ασχοληθούμε με τη μακροσκελή εξήγηση στη συνέχεια.

Πολύ απλά-όχι.

Μπορώ να ακούσω τους προγραμματιστές και τους υποστηρικτές του διαβόλου εκεί έξω να αμφισβητούν την ωμή άρνησή μας για την regex επικύρωση email, προκαλώντας το περαιτέρω ερώτημα, τότε, γιατί υπάρχει καθόλου.

Λοιπόν, δεν πρόκειται να αρνηθούμε ότι μπορεί να είναι ένα χρήσιμο εργαλείο, και σίγουρα είναι ένα έξυπνο μικρό κομμάτι κιτ για να αποτρέψει τους χρήστες από το να προσθέτουν οποιοδήποτε κείμενο σε μια φόρμα ή άλλο εκτελέσιμο μέσο. Κάποια στιγμή, το email regex είχε τον ρόλο του στον τρόπο με τον οποίο συλλέγουμε δεδομένα ηλεκτρονικού ταχυδρομείου.

Αλλά τώρα? Σύμφωνα με την τρέχουσα τεχνολογία και τα πρότυπα;

Εμείς λέμε ότι έχει περάσει η ώρα του.

Εάν θέλετε να διασφαλίσετε ότι παίρνετε καθαρές διευθύνσεις ηλεκτρονικού ταχυδρομείου που δεν πρόκειται να επηρεάσουν το μάρκετινγκ ηλεκτρονικού ταχυδρομείου σας, τα ποσοστά αναπήδησης, τα αποτελέσματα παραδοσιμότητας και όλα τα πράγματα που ξέρετε ότι χρειάζεστε για να διατηρήσετε τις μετρήσεις σας υψηλές και τις μετατροπές σας, τότε το regex δεν είναι ο σωστός τρόπος.

Τι είναι το regex επικύρωσης email;

Regex είναι η συντομογραφία της κανονικής έκφρασης- είναι ένας όρος που χρησιμοποιείται σε διάφορες γλώσσες κωδικοποίησης. Η Regex, ή κανονικές εκφράσεις, αναφέρεται σε κωδικοποιημένες συμβολοσειρές κειμένου που έχουν σχεδιαστεί για να ταιριάζουν με μοτίβα που βρίσκονται σε άλλες συμβολοσειρές.

Μπορεί να είναι αρκετά χρήσιμα όταν ένας χρήστης πρέπει να ταιριάξει μια σειρά χαρακτήρων με έναν συγκεκριμένο τύπο μοτίβου για να επαληθεύσει ότι οι παρεχόμενες πληροφορίες φαίνονται σωστές. Σκεφτείτε αριθμούς τηλεφώνου, ταχυδρομικούς κώδικες, ημερομηνίες και ναι, το μεγάλο πρόβλημα που μας απασχολεί - διευθύνσεις ηλεκτρονικού ταχυδρομείου.

Με ένα απλό μοτίβο, μια ακριβής συμβολοσειρά μπορεί να αντιστοιχιστεί σε ένα σύνολο κανόνων. Όταν τα απλά μοτίβα γίνονται πιο περίπλοκα, η regex γίνεται λιγότερο αποτελεσματική και είναι πιο πιθανό να δώσει κακά αποτελέσματα.

Ακούγεται καλό μέχρι στιγμής, οπότε ποιο είναι το πρόβλημα με την επικύρωση email με regex;

Όσο έξυπνο εργαλείο κι αν είναι το regex, δεν καλύπτει τους ελέγχους που χρειάζεστε. Ρίξτε μια ματιά σε αυτούς:

[email protected]
[email protected]
[email protected]
[email protected]

Ας υποθέσουμε ότι εντοπίζετε κάποιο από τα παραπάνω ως προσθήκη στη λίστα email σας- θα το επισημάνετε αμέσως (ή θα έπρεπε!). Δεν θα πιστεύατε ότι κάποια από αυτές ήταν έγκυρη καταχώρηση από πραγματικούς ανθρώπους που δείχνουν ενδιαφέρον για το προϊόν και την υπηρεσία σας.

Ωστόσο, η επικύρωση email με Regex θα το έκανε. Θα τα άφηνε όλα να περάσουν.

Γιατί; Επειδή αυτές οι προφανώς ψεύτικες διευθύνσεις εξακολουθούν να ακολουθούν τα μοτίβα που οι κανόνες της έχουν οριστεί για να επιβεβαιώσουν.

Δεν φαίνεται και τόσο έξυπνο τώρα, έτσι δεν είναι;

Είναι πολύ περιοριστικό

Παρά τα προηγούμενα παραδείγματα που μας φαίνονται τόσο προφανώς ψευδή, ορισμένες μορφές ηλεκτρονικού ταχυδρομείου περιλαμβάνουν πολύ περισσότερους ειδικούς χαρακτήρες από όσους έχουμε συνηθίσει να βλέπουμε.

Στην απλούστερη μορφή της, η διεύθυνση ηλεκτρονικού ταχυδρομείου ακολουθεί την ακόλουθη μορφή:

[email protected]

Οι διευθύνσεις ηλεκτρονικού ταχυδρομείου κατασκευάζονται σε τρία τμήματα:

  • Το τοπικό μέρος - συνήθως ένα όνομα χρήστη ή ένας ρόλος εργασίας
  • Ο χαρακτήρας @
  • Το domain, συμπεριλαμβανομένου ενός έγκυρου TLD (Top Level Domain)

Αν αυτό ήταν το μόνο που έπρεπε να ψάξει ο κώδικας, τότε ένας τυπικός έλεγχος javascript regex θα απέτρεπε πολλές κακές επαφές από το να καταλήξουν στις λίστες μας.

Συνήθως, οι διευθύνσεις ηλεκτρονικού ταχυδρομείου μας μπορούν να περιλαμβάνουν τους ακόλουθους χαρακτήρες:

  • Ψηφίδες: 0 έως 9
  • Μικρά και κεφαλαία γράμματα: a έως z και A έως Z
  • Πρόσθετοι ειδικοί χαρακτήρες: !#$%&'*+-/=?^_`{|}~
  • Ο χαρακτήρας τελείας [.]: Αλλά όχι ως πρώτος ή τελευταίος χαρακτήρας ή χρησιμοποιείται διαδοχικά.

Αν κάποιος έκανε αίτηση στη λίστα email σας με οποιονδήποτε ή μια σειρά από αυτούς τους ειδικούς χαρακτήρες, οι περισσότεροι από εμάς θα αναρωτιόμασταν αν κάτι δεν πάει καλά, και θα κάναμε λάθος - όλοι επιτρέπονται σύμφωνα με την τρέχουσα σύμβαση.

Η Regex δεν ελέγχει τίποτα άλλο εκτός από τη σύνταξη

Οι προγραμματιστές μπορεί να ενδιαφέρονται μόνο για το πώς θα πάρουν έγκυρες διευθύνσεις μέσω μιας φόρμας, αλλά εμείς όχι. Πρέπει να γνωρίζουμε:

  • Υπάρχει ο τομέας;
  • Υπάρχει εγγραφή MX που να αποδεικνύει ότι ο τομέας έχει διακομιστή αλληλογραφίας;
  • Έχει η διεύθυνση ηλεκτρονικού ταχυδρομείου έναν λειτουργικό λογαριασμό ηλεκτρονικού ταχυδρομείου;

Οποιαδήποτε από αυτές τις ερωτήσεις που βαθμολογούνται με "όχι", θα πάρει ένα σκληρό "όχι" και από εμάς ως έμποροι. Το Regex δεν ελέγχει τίποτα από αυτά - μόνο ένα ειδικό εργαλείο επικύρωσης email θα βγάλει τέτοιες κόκκινες σημαίες.

Δεν εντοπίζει προσωρινές και αναλώσιμες διευθύνσεις

Ως έμποροι ηλεκτρονικού ταχυδρομείου, ένα άλλο πράγμα που γνωρίζουμε είναι ότι πολλοί χρήστες δημιουργούν ψεύτικους προσωρινούς λογαριασμούς για να επωφεληθούν από μια προσφορά, προώθηση ή άλλη κατάσταση. Είναι ένας εύκολος τρόπος για να αποφύγουν να προσθέσουν ακαταστασία στους υπάρχοντες λογαριασμούς ηλεκτρονικού ταχυδρομείου τους ή να δώσουν πληροφορίες για τον εαυτό τους που δεν θέλουν να δώσουν.

Είναι εύκολο να δημιουργήσετε μια προσωρινή ή αναλώσιμη διεύθυνση ηλεκτρονικού ταχυδρομείου ως εφάπαξ λύση. Αυτές οι διευθύνσεις συχνά εξαφανίζονται μέσα σε 10 ή 15 λεπτά από τη δημιουργία τους, γεγονός που τις καθιστά απίστευτα κατάλληλες για το σκοπό τους.
Η Regex δεν θα ελέγξει για αυτά. Οι προσωρινές και οι διευθύνσεις email μίας χρήσης περνούν όλους τους ελέγχους επικύρωσης της Regex.

Πώς θα ρυθμίσετε ένα javascript regex email;

Αν είστε έμπειρος προγραμματιστής, μάλλον δεν θα χρειαστείτε τη βασική μας γνώση του θέματος για να σας πούμε πώς, αλλά για όσους από εσάς έχουν κάποια εμπειρία στον προγραμματισμό, θα πρέπει να μοιάζει κάπως έτσι:

function ValidateEmail(inputText)

{

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

if(inputText.value.match(mailformat))

{

alert("Αυτή δεν είναι έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου"),

επιστροφή false,

}

}

Το μέρος που κάνει όλη τη βαριά δουλειά είναι το var mailformat γραμμή. Η εκτέλεση και οι χαρακτήρες αυτής της μακράς γραμμής κώδικα καθορίζουν τι επιτρέπεται και τι όχι.

Μπορείτε να εντοπίσετε τα απλά πράγματα: a-z, A-Z, 0-9, και στη συνέχεια τους ειδικούς χαρακτήρες στο πρώτο, τοπικό τμήμα. Το [email protected] υπαγορεύει στη συνέχεια τον τοπικό διαχωριστή και τον διαχωριστή τομέα. Μετά το @ έχουμε στη συνέχεια μια άλλη σειρά οδηγιών σχετικά με το τι είναι επιτρεπτό για το τμήμα domain.

Αν θέλετε μια πολύ βαθύτερη εικόνα για το τι χρειάζεται για να υλοποιήσετε έναν επικυρωτή regex, τότε πηγαίνετε στο abstract. Έχουν έναν πολύ καλό οδηγό για το τι ακριβώς χρειάζεται και είναι ειδικοί όταν πρόκειται για όλα τα είδη των API προσθήκες και προσθήκες.

Αν μια δουλειά αξίζει να γίνει, αξίζει να γίνει καλά - γι' αυτό επικυρώστε τους καταλόγους σας με τον καλύτερο δυνατό τρόπο.

Υπάρχει μόνο ένας τρόπος για να βεβαιωθείτε ότι οι λίστες email σας είναι σε άριστη κατάσταση, και αυτός είναι να χρησιμοποιήσετε ένα ειδικό εργαλείο επικύρωσης email, όπως το Bouncer.

Η επικύρωση Regex θα μπορούσε να είναι υπεύθυνη για την εισαγωγή πλαστών διευθύνσεων ηλεκτρονικού ταχυδρομείου στις λίστες ηλεκτρονικού ταχυδρομείου σας, καθώς και για τον αποκλεισμό των έγκυρων διευθύνσεων. Όταν πρόκειται να προσθέσετε μια μέθοδο ελέγχου ταυτότητας στις ηλεκτρονικές φόρμες ή στις μεθόδους συλλογής δεδομένων σας, θα προτείναμε άλλες, πιο ισχυρές μορφές επικύρωσης.

Τελικά, η διαχείριση των λιστών email σας μέσω μιας πλατφόρμας όπως η Bouncer είναι μακράν ο καλύτερος τρόπος για να διατηρήσετε τις λίστες σας καθαρές και υγιείς, τα ποσοστά αναπήδησης χαμηλά, την παραδοσιμότητά σας υψηλή και τις σκορ αποστολέα σε άριστη κατάσταση.

ΔΙΑΒΑΣΤΕ ΠΕΡΙΣΣΟΤΕΡΑ
Διευθύνσεις ηλεκτρονικού ταχυδρομείου μίας χρήσης

Πηγαίνετε για λεπτομερή επαλήθευση email, πηγαίνετε για Bouncer