Justice Denis Thomas of Court of Queen's Bench ruled that section 96 of the Labour Relations Code and section 70 of the Public Service Employee Relations Act violate the charter.
Thomas gave the government until April 1, 2016 to rewrite the offending sections.
The Alberta Union of Provincial Employees had challenged the sections, and say the ruling is a victory for government workers.
Union lawyer Pat Nugent says the Alberta government did not oppose the judgement.
In January, the Supreme Court of Canada struck down a controversial Saskatchewan law that prevented public-sector employees from striking, saying it was unconstitutional.
The high court also gave the Saskatchewan government one year to change its laws.
“The Saskatchewan ruling brought into question Alberta’s legislation, some of which dates back to the 1970s,” said Nugent.
“The Alberta court’s ruling recognizes that Alberta’s broad prohibitions on the right to strike of public-sector employees could not stand.”
Alberta Justice spokesman Dan Laville said the government is aware of the judge's decision.
"Minister (Ric) McIver will be speaking with labour groups as part of the process to address the existing Public Service Employee Relations Act and the Labour Relations Code.
"This work will result in essential services legislation in the future."
(CHED, The Canadian Press)