我对JavaScript很陌生,所以下面的代码可能非常糟糕。我只是试图从字符串中提取一个值。我知道parseFloat()可能不是解决方案,但有没有任何功能可以支持这个功能?从JavaScript中提取字符串的值
p id =“1”将包含一些随机文本并以一个值结尾。
这里我下面的例子:
<div id="abc">
<p id="1">abc 0.99</p>
<p id="2">-</p>
<button onclick="GetValue()">Extract value</button>
</div>
<script>
function GetValue() {
var Value = parseFloat(document.getElementById("1").innerHTML);
document.getElementById("2").innerHTML = Value;
}
</script>
任何建议,非常感谢!
从其他线程JavaScript get number from string的建议工作,谢谢指出! 更新代码:
<div id="abc">
<p id="1">abc 0.99</p>
<p id="2">-</p>
<button onclick="GetValue()">Extract value</button>
</div>
<script>
function GetValue() {
var String = document.getElementById("1").innerHTML;
var Value = String.replace(/^\D+/g, '');
document.getElementById("2").innerHTML = Value;
/*
Solution 2> var Value = String.replace(/^.*?(-?([0-9]+|[0-9]*[.][0-9]+))[ \t]*$/gi,'$1');
Solution 3> var Value = String.match(/\d+(\.\d+)?/)[0];
*/
}
</script>
它是否总是被空格分开?如果是这样,你可以只分裂innerText,并选择最后一个数组项目 – lumio
试试这个https://stackoverflow.com/questions/10003683/javascript-get-number-from-string – user1844933
可能重复[JavaScript从字符串获取数字](https ://stackoverflow.com/questions/10003683/javascript-get-number-from-string) – pucky124