我正在尝试通过遍历每个字符的函数传递一个数字字符串,如果它是或不是数字,则将每个字符包装在一个元素中。
var str = "$6,117,766.69";
var nonNumber = "$,.";
for (var i = 0; i < str.length; i++) {
if (nonNumber.contains(str[i])) {
$('body').append("<span class = 'thecolorYellow'>"+str[i]+"</span>");
} else {
$('body').append("<span class = 'thecolorBlue'>"+str[i]+"</span>");
}
}
我的问题是:我怎样才能将这个函数作为字符串返回而不是修改DOM?第二,我如何调整这个函数以确保从最终字符串中省略0-9之外的字符和三个非数字?
答案 0 :(得分:0)
我建议你使用replace
来生成标记,然后你可以一次追加它:
var html = str.replace(/./g, function(match) {
var clas = isNaN(match) ? 'yellow' : 'blue'
return '<span class="'+ clas +'">'+ match +'</span>'
})
$('body').append(html)
答案 1 :(得分:0)
function getAmountAsNumber(dollarAmount)
{
return dollarAmount.replace(/\D/g,'');
}
上述函数只返回输入字符串中的数字0-9,并确保省略所有非数字字符。