If you need to parse & validate, you could use the SmartyStreets.com LiveAddress API. A ColdFusion CFC from 2011 is available that will connect, validate the address and return a JSON struct of a lot more location-based data for that address.
http://smartystreets.riaforge.org/
SmartyStreets also has javascript Address Autocomplete API so you can include it on any web-based form to ensure that incoming addresses are validated before you ever save it to your back-end database (including the identification & full separation of address parts).
Check out the features... it's more robust than any offline library:
https://smartystreets.com/features
The only downside is that is a paid service and you can only process 250 addresses for free each month:
https://smartystreets.com/free-address-verification
In addition to using the CFC, I use separate wrapper for SmartyStreet's "Smartylist" (a command-line tool). It basically uploads a CSV file and returns the same file with additional columns with the original submitted data.
https://smartystreets.com/docs/smartylist/command-line-tool