Donald Trump
Donald Trump has been engaged in a war of words with Senator John McCainReuters/Jim Young

Republicans have roundly condemned US presidential candidate Donald Trump for his remarks on the military record of Senator John McCain, a veteran of the Vietnam War.

The billionaire businessman, who has been trading barbs with McCain, was quoted as saying of the 2008 Republican nominee and the former prisoner of war: "He's not a war hero. He's a war hero because he was captured? I like people who weren't captured."

The comments drew some boos from the audience at a conservative gathering in Ames, Iowa, the Associated Press news agency reported, while it evoked a strong response from other Republican presidential hopefuls.

"Donald Trump should apologise immediately for attacking Senator McCain and all veterans who have protected and served our country," former Texas Governor Rick Perry said.

"His comments have reached a new low in American politics."

Louisiana Governor Bobby Jindal tweeted: "After Donald Trump spends six years in a POW camp, he can weigh in on John McCain's service."

McCain, 78, served as a navy pilot during the Vietnam War and was captured by the North Vietnamese while on a bombing mission over Hanoi in 1967. He was a war prisoner until 1973.

Trump reportedly told the audience at the gathering that he had avoided service in the Vietnam War through student and medical deferments.

He later sought to clarify his remarks on McCain but did not apologise.

"If a person is captured, they're a hero as far as I'm concerned... but you have to do other things also," he was quoted as saying by AP.

"I don't like the job John McCain is doing in the Senate because he is not taking care of our veterans."

Trump's jibe came after McCain blamed the outspoken reality television personality's remarks on immigrants having "fired up the crazies" at a rally in Phoenix, Arizona.