All of these are shamelessly nicked from Ruby on Rails. The String Extensions have a bit more fault tolerance.
[Validate]