The HTML5 spec defines some very interesting validation components, including pattern (for validating against a Regexp) and required (for marking a field as required
Sure. Opera and Chromium. But you can test yourself:
function supportsValidity(){ var i = document.createElement('input'); return typeof i.validity === 'object' }
Here's a link to a sandbox where you can see Opera and Chrome in action: http://jsfiddle.net/vaZDn/light/