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.
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:
- 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.)
- A karakterlánc csak alfanumerikus karaktereket és/vagy aláhúzásjeleket (_) tartalmazhat.
- 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:
- A felhasználónév csak alfanumerikus, aláhúzásjelet, kötőjelet és/vagy pont karaktereket tartalmazhat.
- Az e-mail azonosító karakterláncnak egy @ karakterből kell állnia.
- A domain név csak alfanumerikus, aláhúzásjelet vagy kötőjelet tartalmazhat.
- A domain név után egy pontnak kell lennie.
- A tartománykiterjesztés csak alfanumerikus, aláhúzás- vagy kötőjel karaktereket tartalmazhat.
- 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:
- A karakterek minimális számának 8-nak kell lennie.
- A karakterláncnak legalább egy számjegyet kell tartalmaznia.
- A karakterláncnak legalább egy nagybetűnek kell lennie.
- A karakterláncnak legalább egy kisbetűnek kell lennie.
- 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.