Хм, один из лучших способов сделать это - проверить в обоих местах - на клиенте и на сервере.
На клиенте вы должны выполнить проверку с использованием javascript.
obj.value.replace(" ", "_");
alert("Invalid username. Changing space to underscore.");
Сделайте то же самое на стороне сервера в php.
strstr($_POST['username'],' ','_');
Если «пробел» - единственное, что имеет значение для вас, то это можно сделать.Иначе вам придется написать все правила.