从javascript中的字符串中收集/提取数字
collecting/pulling numbers from a string in javascript
考虑下面的脚本。。
$('#accessories').editable({
validate: function(value) {
// solution will be placed here
}
});
如果变量'value'的字符串值为"RUST-PROVING(2)、SPOILER(1)、ALARM(2)和SIDE-SKIRT(1)",我如何对'value'变量中的数字(2)(1)(2)。
看看这个FIDDLE
我留给你添加一些异常,比如如果数字是字符串中的最后一个,因为我的代码不会查找它,也不会添加它。
你所要做的就是循环字符串,检查它是否是一个数字,如果是,将它添加到var中,然后继续循环,当下一个字符不是数字时,添加你所构建的。
for (var i = 0; i < str.length; i++) {
if (isNumber(str[i])) {
strNumber += str[i];
} else if (strNumber != "") {
retVal += Number(strNumber);
strNumber = "";
}
}
尝试下面的代码。首先,您设置一个正则表达式来查找字符串中的数字,这将返回一个匹配数组,然后您可以将此数组传递到一个自定义函数中,该函数将数组中的所有数字相乘。
var str = "RUST-PROOFING (2),SPOILER (1),ALARM (2),SIDE-SKIRT (1)";
var re = /['d+]/g //Match only numbers (along the whole string)
var matches = str.match(re);
var total = multiply(matches); //Pass your array of matches to your multiply function;
alert(total); //4
function multiply(arr) { //Multiplies all numbers in an array and returns the total value;
var num = 0;
for(var i = 0, len = arr.length; i < len; i++) {
num += parseInt(arr[i]);
}
return num;
}
看看小提琴
谢谢大家(尤其是Shryme和Mark)。。这是总结。。。希望这能在未来帮助像我这样的新手。。
$('#accessories').editable({
validate: function(value) {
$ntot = add(value.toString());
$('#npoints').editable('setValue', $ntot);
}
});
function add(str) {
var retVal = 0;
var strNumber = "";
for (var i = 0; i < str.length; i++) {
if (isNumber(str[i]) && (str[i-1]=="(" || str[i+1]==")")) {
strNumber += str[i];
} else if (strNumber != "") {
retVal += Number(strNumber);
strNumber = "";
}
}
return retVal;
}
function isNumber(n) {
if (n == "") return false;
return !isNaN(n);
}
相关文章:
- 循环遍历数字和字母数组并仅提取数字
- 使用Selenium IDE从字符串中提取数字
- 从输入中提取数字,并插入一个等式javascript
- 从javascript中的字符串中收集/提取数字
- 使用正则表达式从字符串中提取数字
- 如何使用Javascript从字符串中提取数字
- 从字母数字值中提取数字
- 正则表达式 - 从 URL 中提取数字
- 使用正则表达式提取数字
- 如何使用javascript从字符串中提取数字
- 仅使用javascript提取数字
- 点击列表激活jquery Ajax并提取数字
- 从字符串中提取数字并将其存储在数组Javascript中
- 使用Birt脚本从字符串中提取数字
- 在JavaScript中,从美元金额中提取数字的最紧凑、最高效、最可靠的方法是什么
- 如何使用javascript从网站中提取数字
- 是否可以按顺序从数组中提取数字和运算符
- Regex-从捕获组中提取数字
- Javascript从不工作的字符串中提取数字
- 如何从多项式字符串中提取数字(包括+和-符号)