A police constable has been punched in the face while another has suffered a fractured leg during two separate assaults

A taxi driver has allegedly punched a police officer in the face, while another officer suffered a fractured leg during separate incidents in Brisbane overnight.

Police say a senior constable, 38, was trying to speak with a taxi driver in Eagle St in Brisbane’s CBD about 8pm (AEST) on Friday about a traffic incident when the driver tried to drive away.

After the constable tried to take the keys out of the ignition, the driver allegedly punched him in the face before dragging him several metres down the busy street.

The policeman was treated at St Andrew’s Hospital for a cut to the inside of his mouth and bruising to his chin.

Meanwhile, a constable suffered a fractured leg while trying to arrest a 19-year-old man suspected of an assault in inner-city Windsor about 1.40am (AEST) Saturday.

Police say the man “acted violently and thrashed against one of the officers”, causing him to fall over and injure himself.

The policeman was taken to Royal Brisbane and Women’s Hospital.

The taxi driver was charged with seriously assaulting police and dangerous operation of a vehicle.

The teenager was charged with seriously assaulting police causing bodily harm.

Both were due in Brisbane Magistrates Court on Saturday.