web-dev-qa-db-ja.com

入力type = numberから先行ゼロを削除します

私が<input type="number" />を使用すると、先行ゼロが削除されないことに気付きました。 keeping先行ゼロの方法についても多くの議論がありました。

たとえば、「000023」と「23」は同じ数であり、それらのゼロを維持することは意味がないと思います。

17

このような正規表現を使用するだけです

textboxText= textboxText.replace(/^0+/, '')
11
bhanu.cs

リアクションの使用例を挙げます。フィールドの値を格納するstateを使用します。しかし、私はそれをあなたが好きな変数に置き換えることができると思います。

<input type='number' value={Number(this.state.myNumber).toString()}/>

私の場合、myNumberには年数が格納されます。このようにして、2018の年(たとえば)が02018として誤って表示されることがなくなります。

15
Moses Aprico

HTML入力タグは常に数値ではなくテキストを返します。その内容を数値形式、日付などに強制変換することもできます...

次に、その入力を実際の数値形式に変換する必要があります。

parseInt(myNum); // If you expect an integer.
parseFloat(myNum); // If you expect floating point number.
3
bitifet

HTML5には<input type="tel"> この目的のために

2
Vasyl Senko

これを試すことができます。

    str1 = str.replace(/^0+/,'');
1
RJ Anoop

入力タグにstep = "any"を追加します。これがブラウザーで機能しない場合は、typeをtype = "tel"に変更します。

0
Hyunsoo Kim

これを試して :

<!DOCTYPE html>
<html>
<body>

<input type="number" id="txtfield" /><button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
    var myNumber = document.getElementById("txtfield").value;
    document.write(parseInt(myNumber ,10));
}
</script>

</body>
</html>
0
Parag Gawande