Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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 - Fatal编程技术网

如何从javascript值中去除所有非数字字符(包括小数)

如何从javascript值中去除所有非数字字符(包括小数),javascript,Javascript,我试着从这个值中去掉小数点,但它不起作用 这是我的 <input type="number" class="blah" id="myID" name="amount" value="0.07" step="0.01" min="0.02" max="99999.99"> function () { return document.getElementById("myID").value = newVal.replace(/[^0-9|-]/g, ""); } 函数(){ re

我试着从这个值中去掉小数点,但它不起作用

这是我的

<input type="number" class="blah" id="myID" name="amount" value="0.07" step="0.01" min="0.02" max="99999.99">

function () {
 return document.getElementById("myID").value = newVal.replace(/[^0-9|-]/g, "");
}

函数(){

return document.getElementById(“myID”).value=newVal.replace(/[^0-9 |-]/g,”); }

查看一下

您的正则表达式中有语法错误。您应该使用+表示1个或多个非数字


newVal.replace(/[^0-9]+//g,”)

尝试使用下面的代码

newVal.replace(/\D/g,'');

.replace(/\D+//g')
parseInt(document.getElementById(“myID”).value,10)
?显而易见的是
newVal
没有定义。
0.07
的输出应该是
007
还是
0
?正则表达式的
|-
部分是否试图保留负数的前导
-
?输入类型number接受有效数字。如果您只需要整数值,请将步长值设置为1。不清楚如果步长值为0.1,为什么要去掉小数点?该值的预期输出是什么?返回document.getElementById(“myID”).value.replace(/[^0-9]+/g,”);它返回0.07我需要它返回007@affiliatex-fiddle中的JS代码没有任何作用,因为它有一个与regex无关的错误:它试图使用一个未定义的变量。检查浏览器的开发控制台。@affiliatex您的代码错误严重@安德烈。是的,我是javascript新手-谢谢你,它很管用