Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从输入类型=数字中删除前导零_Javascript_Html_Validation_Input_Numbers - Fatal编程技术网

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

Javascript 从输入类型=数字中删除前导零,javascript,html,validation,input,numbers,Javascript,Html,Validation,Input,Numbers,我注意到,如果我使用,前导零不会被删除。我还看到了很多关于如何保持前导零的讨论 例如,“000023”和“23”是同一个数字,我认为保留这些零是没有意义的。Html输入标记总是返回文本,而不是数字,甚至其内容可以强制为数字格式、日期等 因此,接下来您应该将该输入转换为实际数字格式: parseInt(myNum); // If you expect an integer. parseFloat(myNum); // If you expect floating point number. 只需

我注意到,如果我使用
,前导零不会被删除。我还看到了很多关于如何保持前导零的讨论


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

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

因此,接下来您应该将该输入转换为实际数字格式:

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

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

textboxText= textboxText.replace(/^0+/, '')
你可以试试这个

    str1 = str.replace(/^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>

试试看
函数myFunction(){
var myNumber=document.getElementById(“txtfield”).value;
编写(parseInt(myNumber,10));
}

HTML5为此目的提供了

我将给出一个使用react的示例。它使用存储字段值的
状态
。但是,我认为你可以用你喜欢的任何变量来代替它

在我的例子中,
myNumber
存储年份号。这样,2018年(例如)就不会被错误地显示为02018年。
如果这在浏览器上不起作用,请将type更改为type=“tel”

您实际要做的是什么?因为我有一个包含金额的输入,所以最好不带前导零来显示它。您面临的问题是什么?如何删除前导零或质疑在显示中保留前导零是否合理?真的,是正则表达式吗?为什么不像
+'00022.toString()
这样的东西呢?它会阻止十进制分隔符,或者看起来需要花很多力气才能从数字字符串中去掉前导零。同样,在这两种情况下,
+'00022'.toString()
也可以工作,如果不提供
基数而使用
parseInt
,则可能不安全,因为您正在隐式地执行相同的操作。“+00002”只是预测类型强制(即,在本例中调用parseInt()),此外,还要花更多的精力将其再次转换为字符串,我发现,在最好的情况下,它不是有意的。强制不会调用
parseInt
。与
parseInt
不同,当使用
+
Number
时,不需要使用
基数
,因为内部数字转换不会解析八进制数字。
parseInt
:这与@Bhanu Chowdary how给出的答案不同?实际上,我当时没有看到他的答案@XOTIC750这些字段的用途是输入电话号码,其格式与金额不同。此外,一些移动浏览器在编辑时,会显示一个没有“,”字符的键盘(电话号码中没有)。工作起来很有魅力。此外,如果要进行任何将数字转换为数字的处理,则不需要使用Number()部分。例如,在我的示例中,我将数字四舍五入,因此我只需要
this.state.myNumber.toString()
这将不允许您输入像
24.036
这样的数字,小数点后带前导零。在我必须输入5..7之前,这非常漂亮。。然后将光标移动到中间,然后移动到0,以获得0.507,但谢谢!type=“tel”仍然允许前导零,尽管这可能是一个只过滤整数的有用技巧。我正在搜索一个答案来显示前导零,或者实际上,在手机上显示漂亮的数字输入时保留它们,似乎
type=“tel”
是一个不错的选择!