Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu.

Autor: Yuvraj Chandra
zdieľamTweetujtezdieľamzdieľamzdieľamEmail

Na regulárne výrazy je potrebné trochu si zvyknúť, takže začnite s týmito príkladmi a skontrolujte podrobnosti o používateľovi.

Regulárne výrazy sú integrálnym programovacím nástrojom, ktorý môžete použiť na mnohé praktické každodenné úlohy. Regulárne výrazy môžete použiť na vyhľadávanie, porovnávanie alebo analýzu textu. Pomocou správnych vzorov môžete overiť niektoré z najbežnejších podrobností o používateľskom účte.

Regulárne výrazy môžete použiť s mnohými jazykmi alebo nástrojmi vrátane Pythonu a JavaScriptu.

Regex na overenie používateľského mena

Zvážte používateľské meno, ktoré je platné iba vtedy, ak spĺňa nasledujúce podmienky:

  1. Počet znakov musí byť medzi 5 a 15. (Môžete zadať iný rozsah podľa vašich požiadaviek, ale vykonajte príslušné zmeny v regulárnom výraze.)
  2. instagram viewer
  3. Reťazec by mal obsahovať iba alfanumerické znaky a/alebo podčiarkovníky (_).
  4. Prvý znak reťazca by mal byť abecedný.

Kód použitý v tomto projekte je dostupný v a úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.

Nasledujúci regulárny výraz spĺňa vyššie uvedené podmienky a môže overiť používateľské meno:

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

Ak vám vyššie uvedený výraz nevyhovuje, pozrite sa sprievodca regulárnymi výrazmi pre začiatočníkov najprv. Toto je prístup Pythonu na overenie používateľského mena:

importovať re

defcheckUsername(používateľské meno):
regulárny výraz = "^[A-Za-z]\\w{4,14}$"
r = re.compile (regex)

ak (re.Vyhľadávanie(r, užívateľské meno)):
vytlačiť ("Platné")
inak:
vytlačiť ("Neplatný")

užívateľské meno1 = "yuvraj_chandra"
checkUsername (username1)

užívateľské meno2 = "ja7&^%87"
checkUsername (username2)

Spustenie tohto kódu potvrdí, že prvé používateľské meno je platné, ale druhé nie:

Podobne môžete overiť používateľské meno v JavaScripte pomocou nasledujúceho kódu:

funkciucheckUsername(užívateľ) {
ak(/^[A-Za-z][A-Za-z0-9_]{4,14}$/.test (používateľ)) {
console.log('Platné');
} inak {
console.log('Neplatný');
}
}

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

Tento kód môžete použiť na overiť formuláre HTML pomocou regulárnych výrazov.

Regex na overenie e-mailovej adresy

Regulárny výraz na overenie e-mailovej adresy nie je dokonalý. Neexistuje žiadny všeobecne dohodnutý regulárny výraz na overenie e-mailovej adresy. Úplne sa to scvrkáva na vašu definíciu platného.

Nižšie je uvedený zoznam podmienok, ktoré môžu overiť väčšinu e-mailových adries:

  1. Používateľské meno by malo obsahovať iba alfanumerické znaky, znaky podčiarknutia, pomlčky a/alebo bodky.
  2. Reťazec ID e-mailu musí mať jeden znak @.
  3. Názov domény by mal obsahovať iba alfanumerické znaky, znaky podčiarknutia alebo pomlčky.
  4. Za názvom domény musí byť bodka.
  5. Prípona domény by mala obsahovať iba alfanumerické znaky, znaky podčiarknutia alebo pomlčky.
  6. Dĺžka rozšírenia domény by mala byť medzi 2 a 4.

Nasledujúci regulárny výraz spĺňa vyššie uvedené podmienky a môže overiť e-mailovú adresu:

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

Toto je prístup Pythonu na overenie e-mailovej adresy:

importovať re

defcheckEmailId(e-mail):
regulárny výraz = "^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$"
r = re.compile (regex)
ak (re.Vyhľadávanie(r, email)):
vytlačiť ("Platné")
inak:
vytlačiť ("Neplatný")

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

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

Výstup opäť potvrdzuje, že prvá e-mailová adresa je platná, zatiaľ čo druhá je neplatná:

E-mail môžete overiť v JavaScripte pomocou nasledujúceho kódu:

funkciucheckEmailId(email) {
ak (/^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$/.test (e-mail)) {
konzoly.log('Platné');
} inak {
konzoly.log('Neplatné');
}
}

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

Skontrolujte silu hesla pomocou regulárnych výrazov

Silné heslá sú nevyhnutné z hľadiska bezpečnosti. Musíte sa uistiť, že koncoví používatelia majú dostatočne silné heslá, aby ostatní nemali prístup k ich účtom.

Nasledujúce pravidlá zabezpečujú, že sila hesla vašej aplikácie je silná:

  1. Minimálny počet znakov musí byť 8.
  2. Reťazec musí mať aspoň jednu číslicu.
  3. Reťazec musí obsahovať aspoň jedno veľké písmeno.
  4. Reťazec musí obsahovať aspoň jedno malé písmeno.
  5. Reťazec musí mať aspoň jeden špeciálny znak.

Nasledujúci regulárny výraz spĺňa vyššie uvedené podmienky a môže pomôcť zabezpečiť silnejšie heslo:

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

Silu hesla v Pythone môžete skontrolovať pomocou nasledujúceho kódu:

importovať re

defcheckPasswordStrength(heslo):
regulárny výraz = "(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{ 8,})"
r = re.compile (regex)

ak (re.Vyhľadávanie(r, heslo)):
vytlačiť ("Silné heslo")
inak:
vytlačiť ("Slabé heslo")

heslo1 = "Hiuahd $ 5 čeľuste"
checkPasswordStrength (password1)

heslo2 = "moje_heslo"
checkPasswordStrength (password2)

Spustenie tohto kódu potvrdí, že prvé heslo je silné, zatiaľ čo druhé je slabé:

Silu hesla v JavaScripte môžete skontrolovať pomocou nasledujúceho kódu:

funkciucheckPasswordStrength(heslo) {
ak (/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})/.test (heslo)) {
console.log('Silné heslo');
} inak {
console.log('Slabé heslo');
}
}
checkPasswordStrength('Hiuahd $ 5 čeľuste');
checkPasswordStrength('moje_heslo');

Regulárny výraz, aby sa zhodoval s platným dátumom

Ak chcete rýchlo skontrolovať, či sú dané dátumy v tradičnom formáte dátumu alebo nie, môžete tak urobiť pomocou regulárneho výrazu.

Nasledujúci regulárny výraz sa zhoduje s dátumom v mm/dd/rrrr formát:

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

Regulárny výraz pre dátum má určité obmedzenia, nepotvrdzuje dátumy ako 31. február. Iba overí, či daný reťazec vyzerá ako dátum alebo nie.

Nasledujúci kód Pythonu overuje, či je dátum zadaný mm/dd/rrrr formát:

importovať re

defcheckDateFormat(dátum):
regulárny výraz = "^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20 )\d\d$"
r = re.compile (regex)
ak(re.Vyhľadávanie(r, dátum)):
vytlačiť ("Platné")
inak:
vytlačiť ("Neplatný")

dátum 1 = "03/21/2002"
checkDateFormat (date1)

dátum 2 = "15/21/2002"
checkDateFormat (date2)

Výstup ešte raz potvrdí, že prvý formát dátumu je platný, ale druhý je neplatný:

Dátum môžete potvrdiť v mm/dd/rrrr formátovať v JavaScripte pomocou nasledujúceho kódu:

funkciucheckDateFormat(dátum) {
ak(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19| 20)\d\d$/.test (dátum)) {
console.log('Platné');
} inak {
console.log('Neplatný');
}
}

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

Overenie prázdneho reťazca pomocou regulárnych výrazov

Či je reťazec prázdny, môžete skontrolovať pomocou nasledujúceho regulárneho výrazu:

^$

Nižšie je uvedený prístup Pythonu na overenie prázdnych reťazcov:

importovať re

defcheckEmptyString(str):
regulárny výraz = "^$"
r = re.compile (regex)

ak (re.Vyhľadávanie(r, str)):
vytlačiť(„Daný reťazec je prázdny")
inak:
vytlačiť(„Daný reťazec nie je prázdny")

str1 = ""
checkEmptyString (str1)

str2 = "Toto nie je prázdny reťazec"
checkEmptyString (str2)

Nasledujúci výstup ukazuje, že prvý daný reťazec je prázdny, zatiaľ čo druhý nie:

Pomocou nasledujúceho kódu JavaScript skontrolujte, či je reťazec prázdny alebo nie:

funkciucheckEmptyString(str) {
ak (/^$/.test (str)) {
console.log('Daný reťazec je prázdny');
} inak {
console.log('Daný reťazec nie je prázdny');
}
}

checkEmptyString('');
checkEmptyString('Toto nie je prázdny reťazec');

RegEx na overenie PSČ (PSČ USA)

PSČ (PSČ USA) môžete overiť v päťcifernom aj deväťmiestnom (nazývanom ZIP+4) formáte pomocou nasledujúceho regulárneho výrazu:

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

Nižšie je uvedený kód Pythonu na overenie PSČ:

importovať re

defvalidateZIPCode(kód):
regulárny výraz = "^[0-9]{5}(?:-[0-9]{4})?$"
r = re.compile (regex)

ak (re.Vyhľadávanie(r, kód)):
vytlačiť ("Platné")
inak:
vytlačiť ("Neplatný")

kód1 = "76309"
validateZIPCode (kód1)

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

kód3 = "234445"
validateZIPCode (code3)

Spustenie tohto kódu potvrdí, že prvé a druhé PSČ sú platné, ale tretie nie:

Na overenie PSČ pomocou regulárneho výrazu použite nasledujúci kód JavaScript:

funkciuvalidateZIPCode(kód) {
ak (/^[0-9]{5}(?:-[0-9]{4})?$/.test (kód)) {
console.log('Platné');
} inak {
console.log('Neplatný');
}
}

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

Overte vstup používateľa pomocou robustného kódu

Naučili ste sa overiť podrobnosti používateľského účtu pomocou regulárnych výrazov. Overenie týchto podrobností robí kód robustným a pomáha riešiť bezpečnostné problémy a nechcené chyby. Robustný kód poskytuje vašim používateľom bezpečný a bezpečný zážitok.

Mali by ste sa uistiť, že overujete vstupné údaje buď na strane klienta alebo na strane servera, aby ste boli vždy v bezpečí pred hackermi.

Ako implementovať validáciu formulára na strane klienta pomocou JavaScriptu

Prečítajte si ďalej

zdieľamTweetujtezdieľamzdieľamzdieľamEmail

Súvisiace témy

  • Programovanie
  • Python
  • JavaScript

O autorovi

Yuvraj Chandra (95 publikovaných článkov)

Yuvraj je absolventom informatiky na univerzite v Dillí v Indii. Je nadšený pre vývoj webu Full Stack, Python a Blockchain. Keď práve nepíše, skúma hĺbku rôznych technológií.

Viac od Yuvraj Chandra

Komentujte

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Ak sa chcete prihlásiť na odber, kliknite sem