Simple, consistent N. Am. phone validation/reformatting everywhere?
There's an extension that does precisely this: https://github.com/cividesk/com.cividesk.normalize

It used to be in the extensions directory, but it's gone now for some reason.  It uses libphonenumber, and it formats international numbers appropriately based upon the country in the address.