This has always baffled me. It's actually harder to disallow spaces, and it seems like there are only disadvantages.
Is it just for being able to use it in cleartext cases conveniently elsewhere (which is generally extremely bad anyway...)?
Does anyone know of a good reason for this, or at least the reason some sites do this?
Some guy saw something break once because a password with a space was passed on exec(). Some guy knows that crypt() only uses the first 13 characters. Some guy knows that passwords with less than 5 characters are extremely weak. Some guy knows that \ also breaks when passed to exec() or sh, etc. This goes on ad nauseum for about an hour, a bunch of people are bored and just want to get out of the meeting so they propose the following which everyone can agree on.
Spec: Alphanumeric passwords with a minimum of 5 characters and a maximum of 13.
Result: m/^[A-Z,0-9,a-z]{5,13}$/