There is no need to wash your hair every day. Unless your scalp gets extremely greasy. You won't only save your hair from being damaged, you'll also save a whole lot of shampoo (and conditioner if you use it), and therefore your wallet.
Your hair contains essential oils, and you don’t want to lose those when you're washing them.
So what is the best way?
Experts are saying every third day, as hair doesn't need as much washing as your skin does. You could cause your scalp to build up dandruff, or drying out your hair. But don't neglect your scalp either, as that can cause flaking and redness! So it's recommended to wash your scalp at least once a week.
Coloured and gray hair tend to be drier, which means you should wash it even less often.
The best tip of all:
Shower top-to-bottom, as that's way the soap work its way down. But, if you are acne-prone, wash your face, chest and back after conditioning the hair.