Fece parte della nazionale cinese alle Olimpiadi del 2002 e 2008, vincendo la medaglia d'argento di squadra alle Olimpiadi di Dresda 2008.
Nel 2012 partecipò a Mosca al torneo di qualificazione per il Campionato del mondo FIDE 2012. Nel primo superò turno per 3-1, dopo gli spareggi rapid, Anatolij Karpov, ma nel secondo venne battuto 2-0 da Evgeny Pigusov.
Tra gli altri risultati:
1998 : 2º nel campionato cinese;
2001 : vince con 8 /11 la Zhong Hong Real Estate Cup;
2002 : vince il IX Anibal Open di Linares, con 8 /10; =2º a Trignac;
2004 : 2º nel campionato cinese a squadre con 8 /10; 2º al Sants Hostafrancs Open di Barcellona; in settembre vince l'open di San Sebastián e in ottobre l'Essent Open di Hoogeveen;
2005 : in febbraio vince con 8,5 /9 il Festival des jeux di Cannes; in marzo vince l'open di Bad Wörishofen in Baviera; in maggio è 4º nel fortissimo Dubai Open (vinto dal connazionale Wang Hao);
2006 : in novembre vince la President Gloria Macapagal Arroyo Cup di Manila, con 8 /11 e una prestazione Elo di 2713 punti;
2007 : in settembre vince con 8 /11 a Cebu nelle Filippine il campionato asiatico individuale ;
2008 : 2º nel "Ruy Lopez Festival" di Mérida, con una prestazione Elo di 2772 punti.
^Nell'onomastica cinese il cognome precede il nome. "Zhang" è il cognome.