75 lines
1.9 KiB
PHP
75 lines
1.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Prüft, ob ein Vor- oder Nachname gültig ist.
|
|
*
|
|
* Erlaubt werden Buchstaben, Umlaute, Leerzeichen und Bindestriche.
|
|
* Die Länge muss zwischen 2 und 20 Zeichen liegen.
|
|
*
|
|
* @param string $name Zu prüfender Name
|
|
*
|
|
* @return bool true wenn der Name gültig ist, sonst false
|
|
*/
|
|
function userNameValidator($name)
|
|
{
|
|
$name = trim($name);
|
|
$namePattern = '/^[a-zA-ZäöüÄÖÜß\s-]{2,20}$/u';
|
|
|
|
return preg_match($namePattern, $name) === 1;
|
|
}
|
|
|
|
/**
|
|
* Prüft, ob eine E-Mail-Adresse gültig ist.
|
|
*
|
|
* Die E-Mail-Adresse muss dem Standardformat entsprechen
|
|
* und darf höchstens 100 Zeichen lang sein.
|
|
*
|
|
* @param string $email Zu prüfende E-Mail-Adresse
|
|
*
|
|
* @return bool true wenn die E-Mail-Adresse gültig ist, sonst false
|
|
*/
|
|
function userEmailValidator($email)
|
|
{
|
|
$email = trim($email);
|
|
|
|
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false
|
|
&& mb_strlen($email) <= 100;
|
|
}
|
|
|
|
/**
|
|
* Prüft, ob ein Passwort die Längenanforderungen erfüllt.
|
|
*
|
|
* Das Passwort muss zwischen 5 und 12 Zeichen lang sein.
|
|
*
|
|
* @param string $password Zu prüfendes Passwort
|
|
*
|
|
* @return bool true wenn das Passwort gültig ist, sonst false
|
|
*/
|
|
function userPasswordValidator($password)
|
|
{
|
|
$zeichenAnzahl = mb_strlen($password);
|
|
|
|
return $zeichenAnzahl >= 5 && $zeichenAnzahl <= 12;
|
|
}
|
|
|
|
/**
|
|
* Prüft ein optionales Passwort.
|
|
*
|
|
* Ein leeres Passwort ist erlaubt und bedeutet,
|
|
* dass das bestehende Passwort unverändert bleibt.
|
|
* Falls ein Passwort angegeben wurde, wird es
|
|
* mit den normalen Passwortregeln geprüft.
|
|
*
|
|
* @param string|null $password Zu prüfendes Passwort
|
|
*
|
|
* @return bool true wenn das Passwort gültig oder leer ist,
|
|
* sonst false
|
|
*/
|
|
function userOptionalPasswordValidator($password)
|
|
{
|
|
if (!isset($password) || $password === '') {
|
|
return true;
|
|
}
|
|
|
|
return userPasswordValidator($password);
|
|
} |