在字符的左边换行数字
Wrap numbers to the left of a character
为了给数字字符串添加逗号,我使用以下命令:
someNum.toString().replace(/'B(?=(?:'d{3})+(?!'d))/g, ",")
我需要多做一件事。我需要将逗号左侧的所有内容(在span
标签中表示数千或以上的所有数字)都包装起来,以便为这些数字上色。
因此,如果someNum
是42221
,输出将是<span class="someColorClass">42</span>,221
,如果someNum
是221
,输出将是221
。
谢谢!
我不知道这是否是最有效的方法,但这是有效的:
someNum.toString().replace(/'B(?=(?:'d{3})+(?!'d))/g, ",").replace(/^(.*),('d+)$/,'<span class="someColorClass">$1</span>,$2')
123456789 = <span class="someColorClass">123,456</span>,789
42221 = <span class="someColorClass">42</span>,221
221 = 221
假设您从未使用过百万,在初始替换之后,您可以这样做:
someNum = someNum.replace(/('d*)(,'d{3})/g, '<span class="someColorClass">$1</span>$2');
使用两个正则表达式:
var someNum = 12345;
var commaNum = someNum.toString().replace(/'B(?=(?:'d{3})+(?!'d))/g, ",").replace(/^('d+),/,"<span>$1</span>,");
alert(commaNum);
如果是在百万中,那么它将无法突出显示千位。
例子如果数字大于99,999,则可以使用此正则表达式匹配任何值。它将在匹配中包含逗号。
var someNum = 12345;
var commaNum = someNum.toString().replace(/'B(?=(?:'d{3})+(?!'d))/g, ",").replace(/^(['d,]+)(,'d{3})/g,"<span>$1</span>$2");
alert(commaNum);
示例不同的方法,检查字符串长度…
var num = "432232121678";
var num2 = "221";
function Parse(num)
{
var thousand = num.substring(0, num.length - 3);
if (thousand.length > 0)
{
return "<span class='"someColorClass'">" + thousand.replace(/'B(?=(?:'d{3})+(?!'d))/g, ",") + "</span>," + num.substring(num.length - 3)
}
return num;
}
Parse(num);
Parse(num2);
输出"<span class="someColorClass">432,232,121</span>,678"
"221"
查看jsFiddle
相关文章:
- 如何在映射数组中添加换行符
- JQuery:向多个匹配结果添加换行符的最简单方法
- 在文本区域中使用jQuery.text()保持换行符
- Internet Explorer中的文本换行错误
- 从Javascript警报中防止换行
- javascript替换换行符和特殊字符
- 换行符拆分返回“”;未定义”;
- javascript中换行的regexp
- 编辑数据库输入时在文本框上换行
- 在 JS 中添加字符串之前强制换行
- 如何使用web浏览器在NoSQL数据中呈现换行符
- 换行符插入jquery选择器
- jquery使用val()复制值似乎可以删除换行符
- 文本区域-获取每一行,找到换行符
- 处理字段中带有换行符的csv文件-node.js
- 将每个数字换行并在零前加上最多 X 位数字
- Javascript字母数字正则表达式不采用换行符
- Javascript位移位-数字换行
- 将以换行符分隔的数字列表转换成一行
- 在字符的左边换行数字