In Chrome 15, when using the element as a text field, leading zeros (e.g. 011) are removed even if the number entered does not break the validation rules (e.g. min, max).
8 Years later...
Beware:
The answers with usage of type="tel" don't fully solve the issue especially in case of numeric fields where you might want to write floating/decimal numbers and other allowed characters (like +-.,).
Solution:
Consider using text input with pattern and inputmode like this:
Details:
The pattern there will help to keep leading 0s, and behave like numeric field (with all the other allowed characters).
And the inputmode="numeric" will pull numeric keyboard instead of the default one.