Kijken of er cijfers EN letters in een wachtwoord zitten

Status
Niet open voor verdere reacties.

gebruiker241

Gebruiker
Lid geworden
8 mrt 2008
Berichten
209
Hee Helpmij-ers,
ik ben al een aardig eindje met mijn registratie formulier.

Maar nu zit ik vast, ik wil graag maken dat je cijfers EN letters in je wachtwoord moet hebben.
Hoe kan ik dat controleren via PHP?
Ik het op internet lopen zoeken alleen ik weet niet echt waarop ik moet zoeken en dus ben ik niet zo vergekomen.
Ik ben nog niet zo heel ervaren met PHP, ben pas 12 :$
(Het wachtwoord wordt eerst gecontroleerd of hij het zelfde is als de gebruikersnaam, daarna wordt hij gecontroleerd of hij het zelfde is als het herhaalde wachtwoord en daarna word hij door een md5 hash gehaald en in de database gestopt want in een md5 kan je het niet meer controleren.)

Hoe kan ik dit maken??

Alvast bedankt!!:thumb:
 
Ik zou twee reguliere expressies gebruiken:
PHP:
if (preg_match("/[0-9]/", $wachtwoord) !== false && preg_match("/[a-zA-Z]/", $wachtwoord) !== false)
{
  // goed wachtwoord
}
else
{
  // slecht wachtwoord
}
Waarbij je $wachtwoord moet vervangen door de variabele met het wachtwoord.
 
Ik zou twee reguliere expressies gebruiken:
PHP:
if (preg_match("/[0-9]/", $wachtwoord) !== false && preg_match("/[a-zA-Z]/", $wachtwoord) !== false)
{
  // goed wachtwoord
}
else
{
  // slecht wachtwoord
}
Waarbij je $wachtwoord moet vervangen door de variabele met het wachtwoord.

Waarom dan niet beide checks in 1 preg_match (deze controleert op minimaal 1 letter/cijfer):
PHP:
preg_match ("/[0-9a-zA-Z]+/", $password);

Daarnaast geeft preg_match het aantal gevonden resultaten terug en false bij een error. Beter is het dus om te controleren op > 0 (of casten naar boolean).
 
Waarom dan niet beide checks in 1 preg_match (deze controleert op minimaal 1 letter/cijfer):
PHP:
preg_match ("/[0-9a-zA-Z]+/", $password);[/QUOTE]
 
Omdat de TS wil dat er letters en cijfers in het wachtwoord voor moeten komen. Deze accepteert ook wachtwoorden die uit alleen letters of uit alleen cijfers bestaan.

[quote="aaajeetee, post: 3405743"]Daarnaast geeft preg_match het aantal gevonden resultaten terug en false bij een error. Beter is het dus om te controleren op > 0 (of casten naar boolean).[/quote]

Oeps, je hebt gelijk. Ik was in de war met strpos (dat levert false op als de [i]needle[/i] niet gevonden wordt).
 
Laatst bewerkt:
[0-9a-zA-Z] geeft ook resultaat wanneer alleen cijfers of letters worden gebruikt :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan