College and amateur Banks attended
Riverside High School, where he was a four-time All-Conference, played in the Region II Olympic Development Program, and played club soccer for FC Milwaukee, before going on to play four years of
college soccer at the
University of Wisconsin Green Bay. At Green Bay he was the Horizon League all-newcomer team as a freshman in 2007, was the 2009 Horizon League Player of the Year, and was a 2010 All-League First Team and All-Great Lakes Second Team selection. JC was inducted into the University of Wisconsin Green Bay's Hall of Fame in 2018. During his college years Banks also played for the
Madison 56ers in the
National Premier Soccer League and
Chicago Fire Premier in the
USL Premier Development League.
Professional Banks was drafted in the first round (8th overall) of the
2011 MLS Supplemental Draft by
Toronto FC, but was not offered a contract with the MLS team. After trialing with several clubs in Europe, including Swedish side
BK Häcken, Banks signed with
USL Professional Division club
Rochester Rhinos. He made his professional debut on April 15, 2011, in Rochester's season opening game against the
Richmond Kickers, and scored his first professional goal on April 23 in a 3–2 win over the
Dayton Dutch Lions. He was selected as the Rhinos' rookie of the year following his first professional season. Rochester re-signed Banks for the 2012 season on October 25, 2011. He was voted the Rhinos'
MVP after the 2012 season, tallying 5 goals and a league leading 8 assists. He again received this honor in 2014 after totaling 3 assists and a career high 9 goals. He was also named Offensive Player of the Year in 2012 & 2014, USL PRO Assists Champion & PRO First XI in 2012, and USL All League Second Team in 2014. On December 11, 2014,
Minnesota United FC announced that they had signed Banks. He made his league debut for the club on April 25, 2015, coming on as an 85th-minute substitute for
Jonny Steele in a 2–2 home draw with the
San Antonio Scorpions. He scored his first league goal for the club on June 6, 2015, in a 1–1 away draw with the
Carolina RailHawks. His goal, scored in the 48th minute, made the score 1–0 to Minnesota United. On January 25, 2017,
Jacksonville Armada FC announced that they had signed Banks. He made his league debut for the club on April 2, 2017, in a 1–0 home victory over
FC Edmonton. Banks made an immediate impact with his new club, scoring the winning goal in the 77th minute. In December 2018, Banks joined
USL League One club
Forward Madison FC ahead of their inaugural season. He made his league debut for the club on April 6, 2019, in a 1–0 away defeat to
Chattanooga Red Wolves SC. Banks announced his retirement from playing professional soccer on February 5, 2021. ==Personal==