My boyfriend beat me up this morning?

I know I should leave but I love him. I'm 21 he's 31 we've been together 3 years and we live together. He's always been lovely and I didn't expect it. So this morning he got up at 6.30am I didn't need to get up untill 8am but I got woke up with him grabbing my hair ! He was shouting about how I got blood on the bed (disgusting I know, but I didn't know my period was coming) so I got up and took the covers off put them in the washing machine, then went and sorted myself that's when he started. I came out the bathroom and he grabbed me by the arms and started telling me that I'm disgusting which he is right I got blood on his bed, then he banged my head started to punch and kick me, then he got my on the floor and put his knee on my stomach which really hurt and held my throat Then he left! When he came home tonight he never spoke much and told me that I can sleep on the couch because I'm not allowed in our beds. He also won't let me have paracetamol for cramp!!!

I dont know what I do other than get blood on his bed but I cleaned it up straight away.
How can I prevent him from flipping out again?

My boyfriend beat me up this morning?
Post Opinion