When users register to my website I want to allow them to use spaces in their username, but only one space per word.
My current code:
$usor = $_POST[
You can use a regex of (^\s+|\s{2,}|\s+$) to validate using preg_match:
if (preg_match('/(^\s+|\s{2,}|\s+$)/', $username)) {
echo "Usernames can not contain a space at start/end of username and can't contain double spacing.";
}
REGEX DEMO
Autopsy:
(^\s+|\s{2,}|\s+$):
^\s+ matches 1 or more white-space characters (space/tab/newline) in the start of the string| OR:\s{2,} matches 2 or more white-space characters (space/tab/newline) anywhere in the string| OR:\s+$ matches 1 or more white-space characters (space/tab/newline) in the end of the stringIf you wish to test them separately instead:
if (preg_match('/(^\s+|\s+$)/', $username)) {
echo 'Usernames can not contain a space at start/end of username.';
} else if (preg_match('/\s{2,}/', $username)) {
echo 'Usernames can not contain double spacing.';
}