The RCMP say the woman had one foot inside the vehicle and one outside and was holding onto the door frame as the car reached speeds of about 50 kilometres an hour.
A man and his 18-year-old son in a car behind called 911 and eventually managed to stop the vehicle by pulling in front of it.
The son took the woman out of the car to a nearby home to wait for an ambulance, but the driver then sped away with a three-year-old child still inside the vehicle.
Police say the driver was later arrested at a home, and Jay Paul Guzina has been charged with dangerous driving, assault and forcible confinement.
The woman, who was three months pregnant, did not suffer any serious injuries, while the child was not harmed.