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

Με Yuvraj Chandra
ΜερίδιοΤιτίβισμαΜερίδιοΜερίδιοΜερίδιοΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ

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

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

Μπορείτε να χρησιμοποιήσετε κανονικές εκφράσεις με πολλές γλώσσες ή εργαλεία, συμπεριλαμβανομένων των Python και JavaScript.

Regex για επικύρωση ονόματος χρήστη

Σκεφτείτε ένα όνομα χρήστη που είναι έγκυρο μόνο εάν πληροί τις ακόλουθες προϋποθέσεις:

instagram viewer
  1. Ο αριθμός των χαρακτήρων πρέπει να είναι μεταξύ 5 και 15. (Μπορείτε να καθορίσετε διαφορετικό εύρος ανάλογα με τις απαιτήσεις σας, αλλά κάντε αλλαγές στο regex ανάλογα.)
  2. Η συμβολοσειρά πρέπει να περιέχει μόνο αλφαριθμητικούς χαρακτήρες ή/και κάτω παύλες (_).
  3. Ο πρώτος χαρακτήρας της συμβολοσειράς πρέπει να είναι αλφαβητικός.

Ο κώδικας που χρησιμοποιείται σε αυτό το έργο είναι διαθέσιμος στο α Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.

Το ακόλουθο regex ικανοποιεί τις παραπάνω προϋποθέσεις και μπορεί να επικυρώσει ένα όνομα χρήστη:

^[A-Za-z]\\w{4,14}$

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

εισαγωγή σχετικά με

defcheck Username(όνομα χρήστη):
regex = "^[A-Za-z]\\w{4,14}$"
r = re.compile (regex)

αν (σχετικά με.Αναζήτηση(r, όνομα χρήστη)):
Τυπώνω("Εγκυρος")
αλλού:
Τυπώνω("Δεν είναι έγκυρη")

όνομα χρήστη1 = "yuvraj_chandra"
checkΌνομα χρήστη (όνομα χρήστη1)

όνομα χρήστη2 = "ja7&^%87"
checkΌνομα χρήστη (όνομα χρήστη 2)

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

Ομοίως, μπορείτε να επικυρώσετε ένα όνομα χρήστη σε JavaScript χρησιμοποιώντας τον ακόλουθο κώδικα:

λειτουργίαcheck Username(χρήστης) {
αν(/^[A-Za-z][A-Za-z0-9_]{4,14}$/.test (χρήστης)) {
console.log('Εγκυρος');
} αλλού {
console.log('Δεν είναι έγκυρη');
}
}

check Username('yuvraj_chandra');
check Username('ja7&^%87');

Μπορείτε να χρησιμοποιήσετε αυτόν τον κωδικό για να επικυρώστε φόρμες HTML χρησιμοποιώντας κανονικές εκφράσεις.

Regex για επικύρωση διεύθυνσης email

Το regex για την επικύρωση μιας διεύθυνσης email δεν είναι τέλειο. Δεν υπάρχει καθολικά αποδεκτό regex για την επικύρωση μιας διεύθυνσης email. Συνοψίζεται πλήρως στον ορισμό του έγκυρου.

Ακολουθεί μια λίστα συνθηκών που μπορούν να επικυρώσουν τις περισσότερες διευθύνσεις ηλεκτρονικού ταχυδρομείου:

  1. Το όνομα χρήστη πρέπει να περιέχει μόνο αλφαριθμητικούς χαρακτήρες, κάτω παύλες, παύλα και/ή κουκκίδες.
  2. Η συμβολοσειρά αναγνωριστικού email πρέπει να έχει έναν χαρακτήρα @.
  3. Το όνομα τομέα πρέπει να περιέχει μόνο αλφαριθμητικούς χαρακτήρες, χαρακτήρες υπογράμμισης ή παύλα.
  4. Πρέπει να υπάρχει μια τελεία μετά το όνομα τομέα.
  5. Η επέκταση τομέα θα πρέπει να περιέχει μόνο αλφαριθμητικούς χαρακτήρες, χαρακτήρες υπογράμμισης ή παύλα.
  6. Το μήκος επέκτασης τομέα θα πρέπει να είναι μεταξύ 2 και 4.

Το ακόλουθο regex πληροί τις παραπάνω προϋποθέσεις και μπορεί να επικυρώσει μια διεύθυνση email:

^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$

Αυτή είναι μια προσέγγιση Python για την επικύρωση μιας διεύθυνσης email:

εισαγωγή σχετικά με

defcheckEmailId(ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ):
regex = "^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$"
r = re.compile (regex)
αν (σχετικά με.Αναζήτηση(r, ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ)):
Τυπώνω("Εγκυρος")
αλλού:
Τυπώνω("Δεν είναι έγκυρη")

email1 = "[email protected]"
checkEmailId (email1)

email2 = "abc@def@gmail.kahscg"
checkEmailId (email2)

Και πάλι, η έξοδος επιβεβαιώνει ότι η πρώτη διεύθυνση email είναι έγκυρη ενώ η δεύτερη δεν είναι έγκυρη:

Μπορείτε να επικυρώσετε ένα email σε JavaScript χρησιμοποιώντας τον ακόλουθο κώδικα:

λειτουργίαcheckEmailId(ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ) {
αν (/^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$/.test (email)) {
κονσόλα.log('Valid');
} αλλού {
κονσόλα.log('Not Valid');
}
}

checkEmailId("[email protected]");
checkEmailId("abc@[email protected]");

Ελέγξτε την ισχύ του κωδικού πρόσβασης χρησιμοποιώντας κανονικές εκφράσεις

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

Οι ακόλουθοι κανόνες διασφαλίζουν ότι η ισχύς του κωδικού πρόσβασης της εφαρμογής σας είναι ισχυρή:

  1. Ο ελάχιστος αριθμός χαρακτήρων πρέπει να είναι 8.
  2. Η συμβολοσειρά πρέπει να έχει τουλάχιστον ένα ψηφίο.
  3. Η συμβολοσειρά πρέπει να έχει τουλάχιστον έναν κεφαλαίο χαρακτήρα.
  4. Η συμβολοσειρά πρέπει να έχει τουλάχιστον έναν πεζό χαρακτήρα.
  5. Η συμβολοσειρά πρέπει να έχει τουλάχιστον έναν ειδικό χαρακτήρα.

Το ακόλουθο regex ικανοποιεί τις παραπάνω προϋποθέσεις και μπορεί να σας βοηθήσει να εξασφαλίσετε έναν ισχυρότερο κωδικό πρόσβασης:

(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{ 8,})

Μπορείτε να ελέγξετε την ισχύ του κωδικού πρόσβασης στην Python χρησιμοποιώντας τον ακόλουθο κώδικα:

εισαγωγή σχετικά με

defcheck PasswordStrength(Κωδικός πρόσβασης):
regex = "(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{ 8,})"
r = re.compile (regex)

αν (σχετικά με.Αναζήτηση(r, Κωδικός πρόσβασης)):
Τυπώνω("Ισχυρός κωδικός πρόσβασης")
αλλού:
Τυπώνω("Αδύναμος κωδικός")

κωδικός1 = "Hiuahd $5jawd"
check PasswordStrength (password1)

κωδικός πρόσβασης2 = "Ο κωδικός μου"
check PasswordStrength (password2)

Η εκτέλεση αυτού του κωδικού θα επιβεβαιώσει ότι ο πρώτος κωδικός πρόσβασης είναι ισχυρός ενώ ο δεύτερος είναι αδύναμος:

Μπορείτε να ελέγξετε την ισχύ του κωδικού πρόσβασης στο JavaScript χρησιμοποιώντας τον ακόλουθο κώδικα:

λειτουργίαcheck PasswordStrength(Κωδικός πρόσβασης) {
αν (/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})/.test (κωδικός πρόσβασης)) {
console.log('Ισχυρός κωδικός πρόσβασης');
} αλλού {
console.log('Αδύναμος κωδικός');
}
}
check PasswordStrength('Hiuahd $5jawd');
check PasswordStrength('Ο κωδικός μου');

Κανονική έκφραση για αντιστοίχιση έγκυρης ημερομηνίας

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

Η ακόλουθη τυπική έκφραση ταιριάζει με μια ημερομηνία στο μμ/ηη/εεεε μορφή:

^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20 )\d\d$

Το regex για την ημερομηνία έχει ορισμένους περιορισμούς, δεν επικυρώνει ημερομηνίες όπως η 31η Φεβρουαρίου. Επικυρώνει μόνο εάν η δεδομένη συμβολοσειρά μοιάζει με ημερομηνία ή όχι.

Ο ακόλουθος κώδικας Python επικυρώνει την ημερομηνία μμ/ηη/εεεε μορφή:

εισαγωγή σχετικά με

defcheckDateFormat(ημερομηνία):
regex = "^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20 )\d\d$"
r = re.compile (regex)
αν(σχετικά με.Αναζήτηση(r, ημερομηνία)):
Τυπώνω("Εγκυρος")
αλλού:
Τυπώνω("Δεν είναι έγκυρη")

ημερομηνία1 = "03/21/2002"
checkDateFormat (ημερομηνία1)

ημερομηνία2 = "15/21/2002"
checkDateFormat (ημερομηνία2)

Για άλλη μια φορά, η έξοδος επιβεβαιώνει ότι η πρώτη μορφή ημερομηνίας είναι έγκυρη, αλλά η δεύτερη δεν είναι έγκυρη:

Μπορείτε να επικυρώσετε την ημερομηνία στο μμ/ηη/εεεε μορφή σε JavaScript χρησιμοποιώντας τον ακόλουθο κώδικα:

λειτουργίαcheckDateFormat(ημερομηνία) {
αν(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19| 20)\d\d$/.test (ημερομηνία)) {
console.log('Εγκυρος');
} αλλού {
console.log('Δεν είναι έγκυρη');
}
}

checkDateFormat('03/21/2002');
checkDateFormat('15/21/2002');

Επικύρωση κενού συμβολοσειράς με χρήση κανονικών εκφράσεων

Μπορείτε να ελέγξετε εάν μια συμβολοσειρά είναι κενή χρησιμοποιώντας την ακόλουθη τυπική έκφραση:

^$

Παρακάτω είναι η προσέγγιση Python για επικύρωση κενού συμβολοσειράς:

εισαγωγή σχετικά με

defcheckEmptyString(str):
regex = "^$"
r = re.compile (regex)

αν (σχετικά με.Αναζήτηση(r, str)):
Τυπώνω("Η συμβολοσειρά που δίνεται είναι αδειάζω")
αλλού:
Τυπώνω("Η δεδομένη συμβολοσειρά δεν είναι αδειάζω")

str1 = ""
checkEmptyString (str1)

str2 = "Αυτή δεν είναι μια κενή συμβολοσειρά"
checkEmptyString (str2)

Η ακόλουθη έξοδος δείχνει ότι η πρώτη δεδομένη συμβολοσειρά είναι κενή ενώ η δεύτερη όχι:

Χρησιμοποιήστε τον ακόλουθο κώδικα JavaScript για να ελέγξετε εάν η συμβολοσειρά είναι κενή ή όχι:

λειτουργίαcheckEmptyString(str) {
αν (/^$/.test (str)) {
console.log('Η δεδομένη συμβολοσειρά είναι κενή');
} αλλού {
console.log('Η δεδομένη συμβολοσειρά δεν είναι κενή');
}
}

checkEmptyString('');
checkEmptyString('Αυτή δεν είναι μια κενή συμβολοσειρά');

RegEx για επικύρωση ταχυδρομικού κώδικα (Ταχυδρομικός κώδικας ΗΠΑ)

Μπορείτε να επικυρώσετε έναν ταχυδρομικό κώδικα (ταχυδρομικός κώδικας ΗΠΑ) τόσο σε πενταψήφια όσο και σε εννεαψήφια μορφή (που ονομάζεται ZIP+4) χρησιμοποιώντας την ακόλουθη τυπική έκφραση:

^[0-9]{5}(?:-[0-9]{4})?$

Ακολουθεί ο κώδικας Python για την επικύρωση ταχυδρομικών κωδίκων:

εισαγωγή σχετικά με

defεπικύρωση ταχυδρομικού κώδικα(κώδικας):
regex = "^[0-9]{5}(?:-[0-9]{4})?$"
r = re.compile (regex)

αν (σχετικά με.Αναζήτηση(r, κώδικας)):
Τυπώνω("Εγκυρος")
αλλού:
Τυπώνω("Δεν είναι έγκυρη")

κωδικός 1 = "76309"
validateZIPCode (κωδικός1)

κωδικός 2 = "83468-2348"
validateZIPCode (κωδικός2)

κωδικός 3 = "234445"
validateZIPCode (κωδικός 3)

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

Χρησιμοποιήστε τον ακόλουθο κώδικα JavaScript για να επικυρώσετε τον ταχυδρομικό κώδικα χρησιμοποιώντας regex:

λειτουργίαεπικύρωση ταχυδρομικού κώδικα(κώδικας) {
αν (/^[0-9]{5}(?:-[0-9]{4})?$/.test (κωδικός)) {
console.log('Εγκυρος');
} αλλού {
console.log('Δεν είναι έγκυρη');
}
}

επικύρωση ταχυδρομικού κώδικα('76309');
επικύρωση ταχυδρομικού κώδικα('83468-2348');
επικύρωση ταχυδρομικού κώδικα('234445');

Επαληθεύστε την εισαγωγή χρήστη με ισχυρό κώδικα

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

Θα πρέπει να βεβαιωθείτε ότι επικυρώνετε τα δεδομένα εισόδου είτε από την πλευρά του πελάτη είτε από την πλευρά του διακομιστή ώστε να είστε πάντα ασφαλής από τους χάκερ.

Πώς να εφαρμόσετε την επικύρωση φόρμας από την πλευρά του πελάτη με JavaScript

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΜερίδιοΜερίδιοΜερίδιοΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ

Σχετικά θέματα

  • Προγραμματισμός
  • Πύθων
  • JavaScript

Σχετικά με τον Συγγραφέα

Yuvraj Chandra (Δημοσιεύτηκαν 95 άρθρα)

Ο Yuvraj είναι απόφοιτος της Επιστήμης Υπολογιστών από το Πανεπιστήμιο του Δελχί, Ινδία. Είναι παθιασμένος με την Full Stack Web Development, την Python και το Blockchain. Όταν δεν γράφει, εξερευνά το βάθος των διαφορετικών τεχνολογιών.

Περισσότερα από τον Yuvraj Chandra

Σχόλιο

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε