There are several important factors to consider when looking for a gas mask. Shatter-proof lenses are important. For convenience, look for a mask that uses standard NATO filters. Try it on to check for limited visibility, comfort, ease of use, etc. and be sure to practice with it before you're in the streets fumbling with unfamiliar straps.
We no longer recommend the Israeli gas mask as a good choice despite its low price, use of NATO filters, good fit, etc. The lenses will shatter on the Israeli gas mask, making them dangerous.
When paired with goggles, respirators make an excellent alternative to gas masks. It is necessary to do some homework beforehand and find goggles that don't fog up and that fit tightly on your face with the respirator. Respirators can be purchased at safety supply stores. Ask for filters for organic chemicals, and tell the clerk what you're filtering to doublecheck. Costs between $18-24.
A bandana soaked in apple cider vinegar (2nd choice is water) and tied tightly around the nose and mouth is a last resort. It is far better than nothing, but is not going to do much for long-term protection, and multiple uses will render it as gassy as the air around you.
Shatterproof swim goggles work reasonably well to protect against pepper spray exposure. Most ski goggles have air holes to prevent fogging - fill these with epoxy. Covering the holes with duct tape can work against an initial attack, though not for long term protection. Try them on with your respirator or bandana to ensure that they are compatible. Note that swim goggles generally do not provide an adequate seal against tear gas.