JavaScript函数-遍历字符串,对单个字符进行样式化
JavaScript function - Looping through a string, styling individual characters
我试图通过迭代每个字符的函数传递一个数字字符串,如果它是或不是数字,则将每个字符包装在元素中。
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,并且还将确保所有非数字字符都被省略。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 将样式表插入iframe
- 跟踪在页面加载时应用内联样式的JavaScript
- 在JavaScript中输出转义字符
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 定义完全独立的样式信息
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 确定 RICHT 文本编辑器中每个字符的字符样式
- 可编辑内容更改字符之间的样式
- 将不带符号的字符/段落样式导出到javascript
- 如何有效地设置元素中各个字符的样式
- 使用jquery设置段落的第一个字符的样式
- JavaScript函数-遍历字符串,对单个字符进行样式化
- 按字符样式查找文本内容
- 文本输入中的CSS样式特定字符
- 如何基于前三个字符设置元素样式
- InDesign:如何获取具有字符样式的段落内容
- AngularJS ng 样式转义变量中的非法字符