如何从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新手-谢谢你,它很管用