Op het invoeren van een bepaalde username wil ik een aantal checks uitvoeren.
Om alvast rekening te houden dat de specs van de username nog een keer kunnen veranderen wil ik dit d.m.v. een regular expression in de database vastleggen.
Gebruikersnaam moet aan de volgende voorwaarden voldoen:
Deze expression zorgt al voor de eerste 6 punten, maar nog niet voor de laatste.
Is het mogelijk om dit vast te leggen met een regular expression, en zo ja, hoe?
Verder heb ik bij het code-blok het eerste en laatste blok expliciet aangegeven dat dit om echt het eerste en het laatste character gaat.
Dit om de verwarring minder groot te maken dat het niet om 3 tot 30 characters gaat maar dat je er bij beide 1 op moet tellen.
Is het ook mogelijk om dit hele blok samen te nemen dat je op het einde dus {5,32} krijgt?
Heel verhaal maar hoop dat het zo duidelijk genoeg is
Om alvast rekening te houden dat de specs van de username nog een keer kunnen veranderen wil ik dit d.m.v. een regular expression in de database vastleggen.
Gebruikersnaam moet aan de volgende voorwaarden voldoen:
- De lengte moet tussen de 5 en 32 characters groot zijn.
- De letters moeten lowercase zijn
(dit is geen probleem want wordt met aanmaken als met inloggen lowercase gezet). - Er mogen zowel letters als cijfers in voorkomen.
- Er mogen geen spaties in voorkomen.
- Er mogen "punt", "horizontal stripe" en "underscore" in voorkomen.
- De bovengenoemde characters mogen niet aan het begin en het eind voorkomen.
- De bovengenoemde characters mogen niet achter elkaar staan.
Java:
1
| "([a-z0-9]{1,1})([-._0-9a-z]{3,30})([a-z0-9]{1,1})" |
Deze expression zorgt al voor de eerste 6 punten, maar nog niet voor de laatste.
Is het mogelijk om dit vast te leggen met een regular expression, en zo ja, hoe?
Verder heb ik bij het code-blok het eerste en laatste blok expliciet aangegeven dat dit om echt het eerste en het laatste character gaat.
Dit om de verwarring minder groot te maken dat het niet om 3 tot 30 characters gaat maar dat je er bij beide 1 op moet tellen.
Is het ook mogelijk om dit hele blok samen te nemen dat je op het einde dus {5,32} krijgt?
Heel verhaal maar hoop dat het zo duidelijk genoeg is