How many different regions would you be delivering to?
Do they choose the city from a select list or type it in? What would you do about unrecognized cities such as typos and out of area?
There are several ways it could be accomplished and the specific technique I'd use depends on the specific details of the implementation.