如何从变量中删除所有非数字字符

时间:2015-02-20 17:04:34

标签: javascript

如何从javascript变量中删除所有文本字符(不是数字或浮点数)?

function deduct(){
    var getamt= document.getElementById('cf').value; //eg: "Amount is 1000"
    var value1 = 100;
    var getamt2 = (value1-getamt);
    document.getElementById('rf').value=getamt2;
}

我希望getamt为数字。 parseInt正在提供NaN结果。

2 个答案:

答案 0 :(得分:2)

您可以替换非数字



    var str = "Amount is 1000";
    var num = +str.replace(/[^0-9.]/g,"");
    console.log(num);




或者您可以匹配数字



    var str = "Amount is 1000";
    var match = str.match(/([0-9.])+/,"");
    var num = match ? +match[0] : 0;
    console.log(num);




比赛也可能更具体

答案 1 :(得分:1)

使用这样的正则表达式:

var getamt= document.getElementById('cf').value; //eg: Amount is 1000
var value1 = 100;
var getamt2 = value1 - getamt.replace( /\D+/g, ''); // this replaces all non-number characters in the string with nothing.
console.log(getamt2);

Try this Fiddle