a more robust isbn validation (from isbnlib)