Whatever you do don't try and wash it with warm or hot water as this just 'sets' the stain.
Soak the stain overnight in cold water. In the morning gently massage the stain with your fingers whilst the garment is submerged in the water. This lifts the blood out of the fabric. If the stain persists, soak the cloth for longer in cold water. When no more blood can be removed by this method, wash the garment in a biological detergent, as these contain enzymes designed to breakdown organic matter.
When you get blood on your clothes, rinse the area with hydrogen peroxide. The peroxide will bubble up, and lift the blood out of the fabric. Rub the peroxide gently into the fabric, and then rinse with very cold water. If one treatment doesn't remove the stain completely, keep working at it by adding fresh hydrogen peroxide and working until the peroxide doesn't bubble when you add it to the blood stain area.
Be careful with fine fabrics--peroxide may ruin some, however I have found it to be safe for your standard "sturdy" fabrics.
This is supposed to work even after the clothing was washed once, although I have found that this works BEST when the stain is as fresh as possible.
My way is with cold water and salt. The salt acts as a slight abrasive so you can scrub without pushing the blood onto other parts of the material. The cold water is imperative as otherwise the warm water will cause the blood to stain, so do this before you wash your clothes. It works on dried blood as well, though the fresher it is the easier it is.
Shampoo works wonders. I keep an extra bottle of cheap shampoo under my bathroom sink. Wash the stain with cold water (never hot!), apply some shampoo and rub in. Don't scrub with a bush, scrub the fabric by rubbing it against itself. The stain should come right out. If it doesn't don't rinse the shampoo out, just toss the whole bundle into the washer with you regular laundry (you can even wait until wash day if you don't let the bundle dry out) I have white cotton pajama pants and I've gotten countless stains out of them like this.
Oxyclean - not sure if this product is available in the UK but we have it in the US. If you soak the item in Oxyclean (I use the powder) overnight, it will get out just about anything! I think it's safe for colored fabrics too.
Blood has protein in it so shampoo that boasts protein as an ingredient, meat tenderizer or dishwashing liquid will work wonders. Hair spray is a flourocarbon so it will get rid of the brownish stain without the yellowing of peroxide. But you can also add white vinegar or borax to the spot to fade out any yellow shadows. If you use borax make a paste with water a and put it on the stain.
If it is your own blood, your own saliva will remove the blood - just split on wherever the blood is and then dab at it with a piece of tissue/cottonwool.
i use ace bleach every month at the time of the month! put a little over the stain it reacts instantly and goes white/foamy then wash as normal in machine use for underwear, bed clothes anything that has blood on,a miracle worker in my house!
I found the best solution for removing blood stains at "that time of the month" is DOVE soap. It is hard to believe that a soap that is so gentle on the skin can be so tough on a tough stain. This soap is also less damaging to the fabric (bleach which can ruin delicate fabric). Try it, it will save time and money.