Nuove tipologie di input HTML5:

Color
Date
DateTime-Local>
Email
Month
Number
Range
Search
Tel
Time
Url
week

Esempio di input ricevuto:

Nome [colore], contenuto [#000000]
Nome [data], contenuto [2004-01-31]
Nome [dataora], contenuto [2014-01-01T00:00]
Nome [email], contenuto [xxx@yyy.it]
Nome [mese], contenuto [2014-12]
Nome [numero], contenuto [102]
Nome [range], contenuto [85]
Nome [cerca], contenuto [dsacco]
Nome [telefono], contenuto [0521 123456]
Nome [orario], contenuto [21:01]
Nome [url], contenuto [http://www.info.net]
Nome [settimana], contenuto [2015-W03]

L’attributo required
--------------------
L’attributo required, come ci suggerisce il nome, ci consente di impedire l’invio 
del modulo se i campi obbligatori non sono stati compilati. 
Il suo funzionamento è davvero molto semplice:
<input type="text" name="username" required />

L’attributo pattern
-------------------
L’attributo pattern può essere utilizzato in combinazione con l’attributo 
required appena visto. Esso, infatti, consente di definire delle espressioni regolari 
(nel formato supportato da JavaScript) per validare i dati dei moduli.

Un esempio molto semplice:

<input type="text" name="url" required pattern="https?://.+" />

Questo campo di input accetterà al suo interno solo valori che iniziano per http:// oppure https://.

(vedi approfondimenti  a questo link)