Javascript 删除输入的格式

Javascript 删除输入的格式,javascript,jquery,html,Javascript,Jquery,Html,我输入了一个数量。我使用JS代码自动填充点(千),并在开始时添加$(例如:$12.000)。数据被发送到SOAP。所以我现在需要的是没有美元和圆点的数字。有什么建议吗 JS代码 function autofill(input){ aux = input.value.replace('$',''); var num = aux.replace(/\./g,''); if(!isNaN(num)){ num = num.toString().split('')

我输入了一个数量。我使用JS代码自动填充点(千),并在开始时添加$(例如:$12.000)。数据被发送到SOAP。所以我现在需要的是没有美元和圆点的数字。有什么建议吗

JS代码

function autofill(input){
    aux = input.value.replace('$','');
    var num = aux.replace(/\./g,'');
    if(!isNaN(num)){
        num = num.toString().split('').reverse().join('').replace(/(?=\d*\.?)(\d{3})/g,'$1.');
        num = num.split('').reverse().join('').replace(/^[\.]/,'');            
        input.value = '$'+num;
    }else{             
        input.value = '$'+input.value.replace(/[^\d\.]*/g,'');
}
HTML输入

<input id="vida_ingreso" onkeyup="autofill(this)" type="text">

使用
.replace()


如果您使用的是数千个点,您可以删除额外的字符并使用parseInt

function unfill(input){
    aux = input.value.replace('$','');
    var num = aux.replace(/\./g,'');
    return parseInt(num, 10);
}

替换
$
的所有实例:

var input = document.getElementById('vida_ingreso');
var repl = input.value.replace(/\$|\./g, '');
alert(repl);
示例如下:

编辑: 如果需要该值作为数字,请使用:

var num = Number(repl);

当我阅读您的问题时,我的理解是:“我需要一个与输入相关联的底层对象,该对象定义了一个getter和setter”。那将是我的建议。为什么不将原始输入字符串存储在元素的数据属性上?假设这就是您想要的值,我的想法是也使用js删除该格式,但idk如何做到这一点。Ty bro.我接受了你的逻辑,在同一行中使用replace和其他replace是很有帮助的。这对我有帮助。很高兴有帮助,请考虑投票,并把它标记为正确答案。这是可能的,Y!
var num = Number(repl);