Questo potrebbe aiutare:
<input type="number" step="1" pattern="\d+" />
step
è per convenienza (e potrebbe essere impostato su un altro intero), ma fa alcune pattern
enforcing reale.
Si noti che dal pattern
corrisponde all'intera espressione, non è stato necessario esprimerlo come ^\d+$
.
Anche con questa espressione regolare esteriormente stretto, Chrome e le implementazioni di Firefox, è interessante notare che permettono di e
qui (presumibilmente per la notazione scientifica), così come -
per i numeri negativi, e Chrome permette anche per .
mentre Firefox è più stretto nel rifiutare a meno che il .
è seguito solo da 0. (Firefox contrassegna il campo come rosso sull'input che perde attenzione mentre Chrome non ti consente di immettere valori non consentiti.)
Poiché, come osservato da altri, è necessario sempre convalidare sul server (o sul anche client, se si utilizza il valore localmente sul client o si desidera impedire all'utente di andare al sistema con un roundtrip).
fonte
2017-04-24 01:26:43
Quali versioni del browser è necessario supportare? – Eric