Valdes had to be withdrawn 10 minutes from time in Spain's 1-0 defeat against South Africa in Johannesburg on Tuesday after being introduced as a half-time substitute.
Spanish champions Barca have confirmed that the 31-year-old is set to sit out their next eight games, with veteran stopper Jose Manuel Pinto expected to deputise in his absence.
A statement on the club's official website said: "As communicated by the club medical services, tests confirmed Wednesday that Victor Valdes has a proximal myotendinous rupture in the medial gastrocnemius of the right leg.
"The approximate time low is around six weeks."
Valdes is set to leave Barca at the end of the season, having revealed he is eager for a new challenge.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.