Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen.

Door Yuvraj Chandra
DeelTweetenDeelDeelDeelE-mail

Reguliere expressies zijn even wennen, dus begin met deze voorbeelden om gebruikersgegevens te controleren.

Reguliere expressies zijn een integraal programmeerhulpmiddel dat u voor veel praktische dagelijkse taken kunt gebruiken. U kunt reguliere expressies gebruiken om tekst te zoeken, te matchen of te ontleden. Met de juiste patronen kunt u enkele van de meest voorkomende gebruikersaccountgegevens valideren.

U kunt reguliere expressies gebruiken met veel talen of tools, waaronder Python en JavaScript.

Regex om een ​​gebruikersnaam te valideren

Overweeg een gebruikersnaam die alleen geldig is als deze voldoet aan de volgende voorwaarden:

  1. Het aantal tekens moet tussen de 5 en 15 liggen. (U kunt een ander bereik specificeren op basis van uw vereisten, maar breng dienovereenkomstig wijzigingen aan in de regex.)
  2. instagram viewer
  3. De tekenreeks mag alleen alfanumerieke tekens en/of underscores (_) bevatten.
  4. Het eerste teken van de string moet alfabetisch zijn.

De code die in dit project wordt gebruikt, is beschikbaar in een GitHub-opslagplaats en is gratis voor u om te gebruiken onder de MIT-licentie.

De volgende regex voldoet aan de bovenstaande voorwaarden en kan een gebruikersnaam valideren:

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

Als u zich niet op uw gemak voelt met de bovenstaande uitdrukking, ga dan naar een beginnershandleiding voor reguliere expressies Eerst. Dit is een Python-benadering om een ​​gebruikersnaam te valideren:

importeren met betrekking tot

defcheckGebruikersnaam(gebruikersnaam):
reguliere expressie = "^[A-Za-z]\\w{4,14}$"
r = opnieuw compileren (regex)

als (met betrekking tot.zoekopdracht(R, gebruikersnaam)):
afdrukken("Geldig")
anders:
afdrukken("Niet geldig")

gebruikersnaam1 = "yuvraj_chandra"
checkGebruikersnaam (gebruikersnaam1)

gebruikersnaam2 = "ja7&^%87"
checkGebruikersnaam (gebruikersnaam2)

Als u deze code uitvoert, wordt bevestigd dat de eerste gebruikersnaam geldig is, maar de tweede niet:

Op dezelfde manier kunt u een gebruikersnaam in JavaScript valideren met behulp van de volgende code:

functiecheckGebruikersnaam(gebruiker) {
als(/^[A-Za-z][A-Za-z0-9_]{4,14}$/.test (gebruiker)) {
console.log('Geldig');
} anders {
console.log('Niet geldig');
}
}

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

U kunt deze code gebruiken om HTML-formulieren valideren met behulp van reguliere expressies.

Regex om een ​​e-mailadres te valideren

De regex om een ​​e-mailadres te valideren is niet perfect. Er is geen universeel overeengekomen regex om een ​​e-mailadres te valideren. Het komt volledig neer op jouw definitie van geldig.

Hieronder vindt u een lijst met voorwaarden die de meeste e-mailadressen kunnen valideren:

  1. De gebruikersnaam mag alleen alfanumerieke tekens, onderstrepingstekens, streepjes en/of punttekens bevatten.
  2. De e-mail-ID-tekenreeks moet één @-teken hebben.
  3. De domeinnaam mag alleen alfanumerieke tekens, onderstrepingstekens of streepjes bevatten.
  4. Achter de domeinnaam moet een punt staan.
  5. De domeinextensie mag alleen alfanumerieke tekens, onderstrepingstekens of streepjes bevatten.
  6. De lengte van de domeinextensie moet tussen 2 en 4 liggen.

De volgende regex voldoet aan de bovenstaande voorwaarden en kan een e-mailadres valideren:

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

Dit is een Python-benadering voor het valideren van een e-mailadres:

importeren met betrekking tot

defcheckEmailId(e-mail):
reguliere expressie = "^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$"
r = opnieuw compileren (regex)
als (met betrekking tot.zoekopdracht(R, e-mailen)):
afdrukken("Geldig")
anders:
afdrukken("Niet geldig")

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

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

Nogmaals, de uitvoer bevestigt dat het eerste e-mailadres geldig is, terwijl het tweede ongeldig is:

U kunt een e-mail in JavaScript valideren met behulp van de volgende code:

functiecheckEmailId(e-mailen) {
als (/^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$/.test (e-mail)) {
troosten.log('Geldig');
} anders {
troosten.log('Niet geldig');
}
}

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

Controleer de wachtwoordsterkte met behulp van reguliere expressies

Sterke wachtwoorden zijn essentieel vanuit beveiligingsoogpunt. U moet ervoor zorgen dat eindgebruikers wachtwoorden hebben die sterk genoeg zijn, zodat anderen geen toegang hebben tot hun accounts.

De volgende regels zorgen ervoor dat de wachtwoordsterkte van uw applicatie sterk is:

  1. Het minimum aantal tekens moet 8 zijn.
  2. De tekenreeks moet minimaal één cijfer bevatten.
  3. De tekenreeks moet ten minste één hoofdletter bevatten.
  4. De tekenreeks moet ten minste één kleine letter bevatten.
  5. De tekenreeks moet ten minste één speciaal teken bevatten.

De volgende regex voldoet aan de bovenstaande voorwaarden en kan helpen zorgen voor een sterker wachtwoord:

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

U kunt de wachtwoordsterkte in Python controleren met behulp van de volgende code:

importeren met betrekking tot

defcheckPasswordStrength(wachtwoord):
reguliere expressie = "(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{ 8,})"
r = opnieuw compileren (regex)

als (met betrekking tot.zoekopdracht(R, wachtwoord)):
afdrukken("Sterk wachtwoord")
anders:
afdrukken("Zwak wachtwoord")

wachtwoord1 = "Hiuahd$5jawd"
checkWachtwoordSterkte (wachtwoord1)

wachtwoord2 = "mijn wachtwoord"
checkWachtwoordSterkte (wachtwoord2)

Als u deze code uitvoert, wordt bevestigd dat het eerste wachtwoord sterk is, terwijl het tweede zwak is:

U kunt de wachtwoordsterkte in JavaScript controleren met de volgende code:

functiecheckPasswordStrength(wachtwoord) {
als (/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})/.test (wachtwoord)) {
console.log('Sterk wachtwoord');
} anders {
console.log('Zwak wachtwoord');
}
}
checkWachtwoordSterkte('Hiuahd$5jawd');
checkWachtwoordSterkte('mijn wachtwoord');

Reguliere expressie om overeen te komen met een geldige datum

Als u snel wilt controleren of de gegeven datums in het traditionele datumformaat zijn of niet, kunt u dit doen met behulp van regex.

De volgende reguliere expressie komt overeen met een datum in mm/dd/jjjj formaat:

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

De regex voor de datum heeft enkele beperkingen, het valideert geen datums zoals 31 februari. Het valideert alleen of de gegeven string op een datum lijkt of niet.

De volgende Python-code valideert de datum is binnen mm/dd/jjjj formaat:

importeren met betrekking tot

defcheckDateFormat(datum):
reguliere expressie = "^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20 )\d\d$"
r = opnieuw compileren (regex)
als(met betrekking tot.zoekopdracht(R, datum)):
afdrukken("Geldig")
anders:
afdrukken("Niet geldig")

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

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

Nogmaals, de uitvoer bevestigt dat de eerste datumnotatie geldig is, maar de tweede is ongeldig:

U kunt de datum valideren in mm/dd/jjjj formaat in JavaScript met behulp van de volgende code:

functiecheckDateFormat(datum) {
als(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19| 20)\d\d$/.testdatum)) {
console.log('Geldig');
} anders {
console.log('Niet geldig');
}
}

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

Validatie van lege tekenreeksen met behulp van reguliere expressies

U kunt controleren of een tekenreeks leeg is met behulp van de volgende reguliere expressie:

^$

Hieronder vindt u de Python-benadering voor validatie van lege tekenreeksen:

importeren met betrekking tot

defcheckEmptyString(str):
reguliere expressie = "^$"
r = opnieuw compileren (regex)

als (met betrekking tot.zoekopdracht(R, str)):
afdrukken("De opgegeven tekenreeks is leeg")
anders:
afdrukken("De gegeven string is dat niet leeg")

str1 = ""
checkEmptyString (str1)

str2 = "Dit is geen lege string"
checkEmptyString (str2)

De volgende uitvoer laat zien dat de eerste gegeven string leeg is en de tweede niet:

Gebruik de volgende JavaScript-code om te controleren of de tekenreeks leeg is of niet:

functiecheckEmptyString(str) {
als (/^$/.test (str)) {
console.log('De gegeven string is leeg');
} anders {
console.log('De gegeven string is niet leeg');
}
}

checkLegeString('');
checkLegeString('Dit is geen lege string');

RegEx om postcode te valideren (Amerikaanse postcode)

U kunt een postcode (US Postal Code) valideren in zowel de vijfcijferige als de negencijferige (ZIP+4 genaamd) indeling met behulp van de volgende reguliere expressie:

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

Hieronder staat de Python-code om postcodes te valideren:

importeren met betrekking tot

defvalideerZIPCode(code):
reguliere expressie = "^[0-9]{5}(?:-[0-9]{4})?$"
r = opnieuw compileren (regex)

als (met betrekking tot.zoekopdracht(R, code)):
afdrukken("Geldig")
anders:
afdrukken("Niet geldig")

code1 = "76309"
validerenZIPCode (code1)

code2 = "83468-2348"
validerenZIPCode (code2)

code3 = "234445"
validerenZIPCode (code3)

Als u deze code uitvoert, wordt bevestigd dat de eerste en tweede postcode geldig zijn, maar de derde niet:

Gebruik de volgende JavaScript-code om de postcode te valideren met regex:

functievalideerZIPCode(code) {
als (/^[0-9]{5}(?:-[0-9]{4})?$/.test (code)) {
console.log('Geldig');
} anders {
console.log('Niet geldig');
}
}

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

Controleer gebruikersinvoer met robuuste code

U hebt geleerd hoe u gebruikersaccountgegevens kunt valideren met behulp van reguliere expressies. Het valideren van deze details maakt de code robuust en helpt beveiligingsproblemen en ongewenste bugs aan te pakken. Robuuste code biedt een veilige ervaring voor uw gebruikers.

U moet ervoor zorgen dat u de invoergegevens aan de client- of serverzijde valideert om altijd veilig te zijn voor hackers.

Formuliervalidatie aan de clientzijde implementeren met JavaScript

Lees Volgende

DeelTweetenDeelDeelDeelE-mail

Gerelateerde onderwerpen

  • Programmeren
  • Python
  • javascript

Over de auteur

Yuvraj Chandra (95 artikelen gepubliceerd)

Yuvraj is afgestudeerd in informatica aan de Universiteit van Delhi, India. Hij is gepassioneerd door Full Stack Web Development, Python en Blockchain. Als hij niet aan het schrijven is, onderzoekt hij de diepte van verschillende technologieën.

Meer van Yuvraj Chandra

Opmerking

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve aanbiedingen!

Klik hier om u te abonneren