从输入类型=数字中删除前导零

问题描述 投票:11回答:7

我注意到,如果我使用<input type="number" />,则不会删除前导零。我还看到了很多关于如何保持领先零的讨论。

例如,“000023”和“23”是相同的数字,我认为保持这些零没有意义。

javascript html5 validation input numbers
7个回答
10
投票

只需使用这样的正则表达式

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

7
投票

我将以反应用法为例。它使用state来存储字段的值。但是,我认为你可以用你喜欢的任何变量替换它。

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

就我而言,myNumber存储了一年的数字。这样,2018年(例如)将不会被错误地显示为02018


3
投票

Html输入标签总是返回文本,而不是数字,甚至其内容也可以强制转换为数字格式,日期等...

接下来你应该将该输入转换为实际的数字格式:

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

2
投票

为此,HTML5有<input type="tel">


1
投票

你可以试试这个。

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

0
投票

尝试这个 :

<!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
投票

将step =“any”添加到输入标记中。如果这不适用于您的浏览器,请将类型更改为type =“tel”

© www.soinside.com 2019 - 2024. All rights reserved.