This regex is based on the specifications in the w3c documentation. The rules are** very permissive, and some** of this characters actually lead to errors in browsers.