A Donald Trump supporter has been charged with assault after being caught on camera punching a protester during a political rally.

John Franklin McGraw was arrested after the mobile phone footage was posted on YouTube.

McGraw can be seen approaching the man as he is escorted out of the venue in Fayetteville, North Carolina, and then hitting him in the face and head.

After striking the protester, Mr McGraw was not held or challenged by police but the protester is seen on the ground with deputies on top of him.

In a press release the Cumberland County Sheriff's department said the deputies walking with the man "did not see the assault".

Police said McGraw could initially not be located after the event but was found when officials reviewed the video. He has now been charged with assault and disorderly conduct.

On February 23 at a rally in Las Vegas, Mr Trump responded to a heckler by saying: "I’d like to punch him in the face, I tell you that."