Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk.

Által Yuvraj Chandra
Ossza megCsipogOssza megOssza megOssza megEmail

A reguláris kifejezéseket meg kell szokni, ezért ezekkel a példákkal kezdje meg az előnyt a felhasználói adatok ellenőrzéséhez.

A reguláris kifejezések egy integrált programozási eszköz, amelyet számos gyakorlati napi feladat elvégzésére használhat. Használhat reguláris kifejezéseket a szöveg keresésére, egyeztetésére vagy elemzésére. A megfelelő mintákkal ellenőrizheti a felhasználói fiókok leggyakoribb adatait.

A reguláris kifejezéseket számos nyelven vagy eszközzel használhatja, beleértve a Pythont és a JavaScriptet.

Regex a felhasználónév érvényesítéséhez

Vegyünk egy olyan felhasználónevet, amely csak akkor érvényes, ha megfelel a következő feltételeknek:

  1. A karakterek számának 5 és 15 között kell lennie. (Igényei szerint más tartományt is megadhat, de ennek megfelelően módosítsa a reguláris kifejezést.)
  2. A karakterlánc csak alfanumerikus karaktereket és/vagy aláhúzásjeleket (_) tartalmazhat.
  3. A karakterlánc első karakterének alfabetikusnak kell lennie.

A projektben használt kód elérhető a GitHub adattár és az MIT licence alapján ingyenesen használható.

A következő reguláris kifejezés teljesíti a fenti feltételeket, és érvényesítheti a felhasználónevet:

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

Ha nem elégedett a fenti kifejezéssel, nézze meg kezdőknek szóló útmutató a reguláris kifejezésekhez első. Ez egy Python megközelítés a felhasználónév ellenőrzésére:

import újra

defellenőrizze a felhasználónevet(felhasználónév):
regex = "^[A-Za-z]\\w{4,14}$"
r = újra.fordítás (regex)

ha (újra.keresés(r, felhasználónév)):
nyomtatás("Érvényes")
más:
nyomtatás("Nem érvényes")

felhasználónév1 = "yuvraj_chandra"
checkUsername (felhasználónév1)

felhasználónév2 = "ja7&^%87"
checkUsername (felhasználónév2)

A kód futtatása megerősíti, hogy az első felhasználónév érvényes, de a második nem:

Hasonlóképpen érvényesíthet egy felhasználónevet JavaScriptben a következő kóddal:

funkcióellenőrizze a felhasználónevet(felhasználó) {
ha(/^[A-Za-z][A-Za-z0-9_]{4,14}$/.test (felhasználó)) {
console.log('Érvényes');
} más {
console.log('Nem érvényes');
}
}

checkUsername('yuvraj_chandra');
checkUsername('ja7&^%87');

Ezt a kódot használhatja érvényesítse a HTML űrlapokat reguláris kifejezésekkel.

Regex az e-mail cím érvényesítéséhez

Az e-mail-cím érvényesítésére szolgáló reguláris kifejezés nem tökéletes. Nincs általánosan elfogadott reguláris kifejezés az e-mail cím érvényesítésére. Teljesen az érvényes definíciódhoz kapcsolódik.

Az alábbiakban felsoroljuk azokat a feltételeket, amelyek a legtöbb e-mail címet érvényesíthetik:

  1. A felhasználónév csak alfanumerikus, aláhúzásjelet, kötőjelet és/vagy pont karaktereket tartalmazhat.
  2. Az e-mail azonosító karakterláncnak egy @ karakterből kell állnia.
  3. A domain név csak alfanumerikus, aláhúzásjelet vagy kötőjelet tartalmazhat.
  4. A domain név után egy pontnak kell lennie.
  5. A tartománykiterjesztés csak alfanumerikus, aláhúzás- vagy kötőjel karaktereket tartalmazhat.
  6. A domain kiterjesztésének 2 és 4 között kell lennie.

A következő reguláris kifejezés teljesíti a fenti feltételeket, és érvényesítheti az e-mail címet:

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

Ez egy Python megközelítés az e-mail cím érvényesítéséhez:

import újra

defcheckEmailId(email):
regex = "^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$"
r = újra.fordítás (regex)
ha (újra.keresés(r, email)):
nyomtatás("Érvényes")
más:
nyomtatás("Nem érvényes")

email1 = "[email protected]"
checkEmailId (e-mail1)

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

A kimenet ismét megerősíti, hogy az első e-mail cím érvényes, míg a második érvénytelen:

Egy e-mailt a következő kóddal érvényesíthet JavaScriptben:

funkciócheckEmailId(email) {
ha (/^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$/.test (e-mail)) {
konzol.log('Érvényes');
} más {
konzol.log('Nem érvényes');
}
}

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

Ellenőrizze a jelszó erősségét reguláris kifejezésekkel

Az erős jelszavak elengedhetetlenek biztonsági szempontból. Győződjön meg arról, hogy a végfelhasználók elég erős jelszavakkal rendelkeznek ahhoz, hogy mások ne férhessenek hozzá fiókjukhoz.

A következő szabályok biztosítják, hogy az alkalmazás jelszava erős legyen:

  1. A karakterek minimális számának 8-nak kell lennie.
  2. A karakterláncnak legalább egy számjegyet kell tartalmaznia.
  3. A karakterláncnak legalább egy nagybetűnek kell lennie.
  4. A karakterláncnak legalább egy kisbetűnek kell lennie.
  5. A karakterláncnak tartalmaznia kell legalább egy speciális karaktert.

A következő reguláris kifejezés teljesíti a fenti feltételeket, és segíthet az erősebb jelszó biztosításában:

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

A Pythonban a jelszó erősségét a következő kóddal ellenőrizheti:

import újra

defcheckPassword Strength(Jelszó):
regex = "(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{101} 8,})"
r = újra.fordítás (regex)

ha (újra.keresés(r, Jelszó)):
nyomtatás("Erős jelszó")
más:
nyomtatás("Gyenge jelszó")

jelszó1 = "Hiuahd $5jawd"
checkPassword Strength (jelszó1)

jelszó2 = "jelszavam"
checkPassword Strength (jelszó2)

A kód futtatása megerősíti, hogy az első jelszó erős, míg a második gyenge:

A jelszó erősségét a JavaScriptben a következő kóddal ellenőrizheti:

funkciócheckPassword Strength(Jelszó) {
ha (/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})/.test (jelszó)) {
console.log('Erős jelszó');
} más {
console.log('Gyenge jelszó');
}
}
checkPassword Strength('Hiuahd $5jawd');
checkPassword Strength('jelszavam');

Szabályos kifejezés az érvényes dátumhoz

Ha gyorsan szeretné ellenőrizni, hogy a megadott dátumok a hagyományos dátumformátumban vannak-e vagy sem, ezt megteheti a regex használatával.

A következő reguláris kifejezés egy dátumnak felel meg éééé.hh/nn formátum:

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

A dátumhoz tartozó reguláris kifejezésnek vannak bizonyos korlátozásai, nem érvényesíti az olyan dátumokat, mint a február 31. Csak azt ellenőrzi, hogy az adott karakterlánc dátumnak tűnik-e vagy sem.

A következő Python-kód érvényesíti a dátumot éééé.hh/nn formátum:

import újra

defcheckDateFormat(dátum):
regex = "^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20 )\d\d$"
r = újra.fordítás (regex)
ha(újra.keresés(r, dátum)):
nyomtatás("Érvényes")
más:
nyomtatás("Nem érvényes")

dátum1 = "03/21/2002"
checkDateFormat (dátum1)

dátum2 = "15/21/2002"
checkDateFormat (dátum2)

A kimenet még egyszer megerősíti, hogy az első dátumformátum érvényes, de a második érvénytelen:

A dátumot itt tudod érvényesíteni éééé.hh/nn formátumban JavaScriptben a következő kóddal:

funkciócheckDateFormat(dátum) {
ha(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19| 20)\d\d$/.test (dátum)) {
console.log('Érvényes');
} más {
console.log('Nem érvényes');
}
}

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

Üres karakterlánc érvényesítése reguláris kifejezésekkel

A következő reguláris kifejezéssel ellenőrizheti, hogy egy karakterlánc üres-e:

^$

Az alábbiakban bemutatjuk a Python-megközelítést az üres karakterláncok érvényesítéséhez:

import újra

defcheckEmptyString(str):
regex = "^$"
r = újra.fordítás (regex)

ha (újra.keresés(r, str)):
nyomtatás("A megadott karakterlánc a üres")
más:
nyomtatás("A megadott karakterlánc nem üres")

str1 = ""
checkEmptyString (str1)

str2 = "Ez nem egy üres karakterlánc"
checkEmptyString (str2)

A következő kimenet azt mutatja, hogy az első megadott karakterlánc üres, míg a második nem:

A következő JavaScript kóddal ellenőrizze, hogy a karakterlánc üres-e vagy sem:

funkciócheckEmptyString(str) {
ha (/^$/.test (str)) {
console.log('A megadott karakterlánc üres');
} más {
console.log('A megadott karakterlánc nem üres');
}
}

checkEmptyString('');
checkEmptyString('Ez nem egy üres karakterlánc');

RegEx az irányítószám ellenőrzéséhez (USA irányítószám)

Az irányítószámot (amerikai irányítószámot) ötjegyű és kilencjegyű (ZIP+4) formátumban is érvényesítheti a következő reguláris kifejezés használatával:

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

Az alábbiakban található a Python kód az irányítószámok ellenőrzéséhez:

import újra

defvalidateZIPCode(kód):
regex = "^[0-9]{5}(?:-[0-9]{4})?$"
r = újra.fordítás (regex)

ha (újra.keresés(r, kód)):
nyomtatás("Érvényes")
más:
nyomtatás("Nem érvényes")

kód1 = "76309"
validateZIPCode (code1)

kód2 = "83468-2348"
validateZIPCode (code2)

kód3 = "234445"
validateZIPCode (code3)

A kód futtatása megerősíti, hogy az első és a második irányítószám érvényes, de a harmadik nem:

Használja a következő JavaScript kódot az irányítószám érvényesítéséhez a regex használatával:

funkcióvalidateZIPCode(kód) {
ha (/^[0-9]{5}(?:-[0-9]{4})?$/.test (code)) {
console.log('Érvényes');
} más {
console.log('Nem érvényes');
}
}

validateZIPCode('76309');
validateZIPCode('83468-2348');
validateZIPCode('234445');

Ellenőrizze a felhasználói bevitelt robusztus kóddal

Megtanulta, hogyan kell érvényesíteni a felhasználói fiók adatait reguláris kifejezésekkel. Ezen adatok ellenőrzése robusztussá teszi a kódot, és segít a biztonsági problémák és a nem kívánt hibák kezelésében. A robusztus kód biztonságos és biztonságos élményt nyújt a felhasználók számára.

Győződjön meg arról, hogy a bemeneti adatokat a kliens vagy a szerver oldalon érvényesíti, hogy mindig biztonságban legyen a hackerekkel szemben.

Az ügyféloldali űrlapellenőrzés végrehajtása JavaScript segítségével

Olvassa el a következőt

Ossza megCsipogOssza megOssza megOssza megEmail

Kapcsolódó témák

  • Programozás
  • Piton
  • JavaScript

A szerzőről

Yuvraj Chandra (95 cikk megjelent)

Yuvraj számítástechnikai diplomát szerzett az indiai Delhi Egyetemen. Szenvedélyes a Full Stack webfejlesztés, a Python és a Blockchain. Amikor nem ír, a különböző technológiák mélységeit kutatja.

Továbbiak Yuvraj Chandra-tól

Megjegyzés

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez