Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat.

De Yuvraj Chandra
AcțiuneTweetAcțiuneAcțiuneAcțiuneE-mail

Expresiile obișnuite necesită ceva timp pentru a vă obișnui, așa că începeți cu aceste exemple pentru a verifica detaliile utilizatorului.

Expresiile regulate sunt un instrument de programare integral pe care îl puteți folosi pentru multe sarcini practice de zi cu zi. Puteți folosi expresii regulate pentru a căuta, potrivi sau analiza text. Cu modelele potrivite, puteți valida unele dintre cele mai comune detalii ale contului de utilizator.

Puteți utiliza expresii regulate cu multe limbi sau instrumente, inclusiv Python și JavaScript.

Regex pentru a valida un nume de utilizator

Luați în considerare un nume de utilizator care este valid numai dacă îndeplinește următoarele condiții:

  1. Numărul de caractere trebuie să fie între 5 și 15. (Puteți specifica un interval diferit în funcție de cerințele dvs., dar faceți modificări în regex în consecință.)
    instagram viewer
  2. Șirul trebuie să conțină numai caractere alfanumerice și/sau liniuțe de subliniere (_).
  3. Primul caracter al șirului ar trebui să fie alfabetic.

Codul folosit în acest proiect este disponibil în a Depozitul GitHub și este gratuit pentru utilizare sub licența MIT.

Următorul regex îndeplinește condițiile de mai sus și poate valida un nume de utilizator:

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

Dacă nu sunteți confortabil cu expresia de mai sus, verificați un ghid pentru începători pentru expresiile regulate primul. Aceasta este o abordare Python pentru a valida un nume de utilizator:

import re

defverifica numele de utilizator(nume de utilizator):
regex = "^[A-Za-z]\\w{4,14}$"
r = re.compilare (regex)

dacă (re.căutare(r, nume de utilizator)):
imprimare("Valabil")
altfel:
imprimare("Invalid")

nume utilizator1 = "yuvraj_chandra"
checkUsername (username1)

nume de utilizator2 = "ja7&^%87"
checkUsername (username2)

Rularea acestui cod va confirma că primul nume de utilizator este valid, dar al doilea nu este:

În mod similar, puteți valida un nume de utilizator în JavaScript folosind următorul cod:

funcţieverifica numele de utilizator(utilizator) {
dacă(/^[A-Za-z][A-Za-z0-9_]{4,14}$/.test (utilizator)) {
console.log('Valabil');
} altfel {
console.log('Invalid');
}
}

verifica numele de utilizator('yuvraj_chandra');
verifica numele de utilizator('ja7&^%87');

Puteți folosi acest cod pentru a validați formularele HTML folosind expresii regulate.

Regex pentru a valida o adresă de e-mail

Regex pentru validarea unei adrese de e-mail nu este perfectă. Nu există o expresie generală agreată pentru a valida o adresă de e-mail. Se rezumă complet la definiția dvs. de valid.

Mai jos este o listă de condiții care pot valida majoritatea adreselor de e-mail:

  1. Numele de utilizator trebuie să conțină numai caractere alfanumerice, subliniere, liniuță și/sau puncte.
  2. Șirul de identificare a e-mailului trebuie să aibă un caracter @.
  3. Numele de domeniu trebuie să conțină numai caractere alfanumerice, liniuță sau liniuță.
  4. Trebuie să existe un punct după numele domeniului.
  5. Extensia de domeniu trebuie să conțină numai caractere alfanumerice, subliniere sau liniuță.
  6. Lungimea extensiei de domeniu trebuie să fie între 2 și 4.

Următorul regex îndeplinește condițiile de mai sus și poate valida o adresă de e-mail:

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

Aceasta este o abordare Python pentru validarea unei adrese de e-mail:

import re

defverificaEmailId(e-mail):
regex = "^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$"
r = re.compilare (regex)
dacă (re.căutare(r, e-mail)):
imprimare("Valabil")
altfel:
imprimare("Invalid")

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

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

Din nou, rezultatul confirmă că prima adresă de e-mail este validă, în timp ce a doua este invalidă:

Puteți valida un e-mail în JavaScript folosind următorul cod:

funcţieverificaEmailId(e-mail) {
dacă (/^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$/.test (e-mail)) {
consolă.log('Valid');
} altfel {
consolă.log('Nu este valabil');
}
}

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

Verificați puterea parolei folosind expresii regulate

Parolele puternice sunt esențiale din perspectiva securității. Trebuie să vă asigurați că utilizatorii finali au parole suficient de puternice, astfel încât alții să nu le poată accesa conturile.

Următoarele reguli asigură că puterea parolei aplicației dvs. este puternică:

  1. Numărul minim de caractere trebuie să fie 8.
  2. Șirul trebuie să aibă cel puțin o cifră.
  3. Șirul trebuie să aibă cel puțin un caracter majuscul.
  4. Șirul trebuie să aibă cel puțin un caracter mic.
  5. Șirul trebuie să aibă cel puțin un caracter special.

Următorul regex îndeplinește condițiile de mai sus și poate ajuta la asigurarea unei parole mai puternice:

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

Puteți verifica puterea parolei în Python folosind următorul cod:

import re

defverificațiPasswordStrength(parola):
regex = "(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{ 8,})"
r = re.compilare (regex)

dacă (re.căutare(r, parola)):
imprimare("Parola puternica")
altfel:
imprimare("Parolă slabă")

parola1 = "Hiuahd $5jawd"
verificațiPasswordStrength (parola1)

parola2 = "parola mea"
verificațiPasswordStrength (parola2)

Rularea acestui cod va confirma că prima parolă este puternică, în timp ce a doua este slabă:

Puteți verifica puterea parolei în JavaScript folosind următorul cod:

funcţieverificațiPasswordStrength(parola) {
dacă (/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})/.test (parolă)) {
console.log('Parola puternica');
} altfel {
console.log('Parolă slabă');
}
}
verifica puterea parolei('Hiuahd $5jawd');
verifica puterea parolei('parola mea');

Expresie regulată pentru a se potrivi cu o dată validă

Dacă doriți să verificați rapid dacă datele date sunt în formatul tradițional de dată sau nu, puteți face acest lucru folosind regex.

Următoarea expresie regulată se potrivește cu o dată în mm/zz/aaaa format:

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

Regex pentru dată are unele limitări, nu validează date precum 31 februarie. Validează doar dacă șirul dat arată ca o dată sau nu.

Următorul cod Python validează data în care se află mm/zz/aaaa format:

import re

defcheckDateFormat(Data):
regex = "^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20 )\d\d$"
r = re.compilare (regex)
dacă(re.căutare(r, Data)):
imprimare("Valabil")
altfel:
imprimare("Invalid")

data1 = "03/21/2002"
checkDateFormat (data1)

data2 = "15/21/2002"
checkDateFormat (data2)

Încă o dată, rezultatul confirmă că primul format de dată este valid, dar al doilea este invalid:

Puteți valida data în mm/zz/aaaa format în JavaScript folosind următorul cod:

funcţiecheckDateFormat(Data) {
dacă(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19| 20)\d\d$/.data testului)) {
console.log('Valabil');
} altfel {
console.log('Invalid');
}
}

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

Validarea șirurilor goale folosind expresii regulate

Puteți verifica dacă un șir este gol folosind următoarea expresie regulată:

^$

Mai jos este abordarea Python pentru validarea șirurilor goale:

import re

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

dacă (re.căutare(r, str)):
imprimare("Șirul dat este gol")
altfel:
imprimare("Șirul dat nu este gol")

str1 = ""
checkEmptyString (str1)

str2 = "Acesta nu este un șir gol"
checkEmptyString (str2)

Următoarea ieșire demonstrează că primul șir dat este gol, în timp ce al doilea nu este:

Utilizați următorul cod JavaScript pentru a verifica dacă șirul este gol sau nu:

funcţiecheckEmptyString(str) {
dacă (/^$/.test (str)) {
console.log('Șirul dat este gol');
} altfel {
console.log('Șirul dat nu este gol');
}
}

checkEmptyString('');
checkEmptyString('Acesta nu este un șir gol');

RegEx pentru a valida codul poștal (codul poștal din SUA)

Puteți valida un cod poștal (cod poștal S.U.A.) atât în ​​formatul de cinci cifre, cât și în formatul de nouă cifre (numit ZIP+4) folosind următoarea expresie regulată:

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

Mai jos este codul Python pentru validarea codurilor poștale:

import re

defvalidateZIPCode(cod):
regex = "^[0-9]{5}(?:-[0-9]{4})?$"
r = re.compilare (regex)

dacă (re.căutare(r, cod)):
imprimare("Valabil")
altfel:
imprimare("Invalid")

cod1 = "76309"
validateZIPCode (cod1)

cod2 = "83468-2348"
validateZIPCode (cod2)

cod3 = "234445"
validateZIPCode (cod3)

Rularea acestui cod va confirma că primul și al doilea cod poștal sunt valide, dar al treilea nu este:

Utilizați următorul cod JavaScript pentru a valida codul poștal folosind expresia regex:

funcţievalidateZIPCode(cod) {
dacă (/^[0-9]{5}(?:-[0-9]{4})?$/.test (cod)) {
console.log('Valabil');
} altfel {
console.log('Invalid');
}
}

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

Verificați intrarea utilizatorului cu un cod robust

Ați învățat cum să validați detaliile contului de utilizator folosind expresii regulate. Validarea acestor detalii face codul robust și ajută la rezolvarea problemelor de securitate și a erorilor nedorite. Codul robust oferă utilizatorilor dumneavoastră o experiență sigură și securizată.

Ar trebui să vă asigurați că validați datele de intrare fie pe partea client, fie pe partea serverului, pentru a fi mereu în siguranță de hackeri.

Cum să implementați validarea formularului pe partea clientului cu JavaScript

Citiți în continuare

AcțiuneTweetAcțiuneAcțiuneAcțiuneE-mail

Subiecte asemănătoare

  • Programare
  • Piton
  • JavaScript

Despre autor

Yuvraj Chandra (95 articole publicate)

Yuvraj este absolvent de informatică de la Universitatea din Delhi, India. Este pasionat de Full Stack Web Development, Python și Blockchain. Când nu scrie, explorează profunzimea diferitelor tehnologii.

Mai multe de la Yuvraj Chandra

cometariu

Aboneaza-te la newsletter-ul nostru

Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Click aici pentru a te abona