JavaScript函数-遍历字符串,对单个字符进行样式化

JavaScript function - Looping through a string, styling individual characters

本文关键字:字符 样式 单个 函数 遍历 字符串 JavaScript      更新时间:2023-09-26

我试图通过迭代每个字符的函数传递一个数字字符串,如果它是或不是数字,则将每个字符包装在元素中。

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以外的字符和三个非数字从最终字符串中省略?

我建议您使用replace来生成标记,然后您可以一次添加所有标记:

var html = str.replace(/./g, function(match) {
  var clas = isNaN(match) ? 'yellow' : 'blue'
  return '<span class="'+ clas +'">'+ match +'</span>'
})
$('body').append(html)
    function getAmountAsNumber(dollarAmount)
    {
     return dollarAmount.replace(/'D/g,'');
    }

上面的函数将只返回输入字符串中的数字0-9,并且还将确保所有非数字字符都被省略。