我试图将字符串"1 + 2 / 3 * 4 - 5 "拆分,以显示要保存到数组中的"+" "/" "*" "-",对数字进行相同的操作,以便调用每个数字和op‘,将其按BODMAS(/*+-)顺序进行计算。
字符串可以更长、更短,因为它是用户输入计算。
<p id="demo"></p>
<script>
function myFunction() {
var str = "1+2/3*4-5";
var res = str.split([0-9]);
document.getElementById("demo").innerHTML = res;
}
</script>发布于 2015-02-09 21:58:00
您从未调用过myFunction函数。在前面使用非机加工字符,[^0-9]。它将匹配任何不是数字的东西。不要使用split。split不承认0-9是分裂字符.使用string.prototype.match()方法代替。它将返回包含每个匹配项的数组。
function myFunction() {
var str = "1+2/3*4-5";
var match=str.match(/[^0-9]+/g);
for(i=0;i<match.length;i++){
document.getElementById('demo').innerHTML+=match[i]+'</br>';
}
}
myFunction();<p id="demo"></p>
发布于 2015-02-09 21:52:21
你做的是:
str.split(/\d+/)为了得到符号和
str.split(/\D+/)才能得到数字
https://stackoverflow.com/questions/28420024
复制相似问题