Javascript 将数字换行到字符的左侧
为了在数字字符串中添加逗号,我使用以下命令:Javascript 将数字换行到字符的左侧,javascript,jquery,regex,Javascript,Jquery,Regex,为了在数字字符串中添加逗号,我使用以下命令: someNum.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g,“,” 我需要多做一件事。我需要将所有内容都包装到逗号的左边(所有代表数千或以上的数字都在span标记中),以便为这些数字上色 因此,如果someNum是42221,则输出为42221,如果someNum是221,则输出为221 谢谢!假设你永远不会进入百万,在你最初的替换之后,你可以做: someNum = someNum.replace(/(
someNum.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g,“,”
我需要多做一件事。我需要将所有内容都包装到逗号的左边(所有代表数千或以上的数字都在span
标记中),以便为这些数字上色
因此,如果someNum
是42221
,则输出为42221
,如果someNum
是221
,则输出为221
谢谢!假设你永远不会进入百万,在你最初的替换之后,你可以做:
someNum = someNum.replace(/(\d*)(,\d{3})/g, '<span class="someColorClass">$1</span>$2');
someNum=someNum.replace(/(\d*)(,\d{3})/g,“$1$2”);
带有两个正则表达式:
var someNum = 12345;
var commaNum = someNum.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",").replace(/^(\d+),/,"<span>$1</span>,");
alert(commaNum);
var someNum=12345;
var commaNum=someNum.toString();
警报(commaNum);
如果以百万计,它将无法突出数千
如果数字可以大于99999,则可以使用此正则表达式匹配任何内容。它将在匹配项中包含逗号
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 someNum=12345;
var commaNum=someNum.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g,“,”).replace(/^([\d,]+)(,\d{3})/g,“$1$2”);
警报(commaNum);
我不知道这是否是最有效的方法,但这是有效的:
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.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g,“,”)。replace(/^(.*),(\d+)$/,“$1,$2”)
123456789 = 123,456,789
42221 = 42,221
221 = 221
不同的方法,检查字符串长度
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);
var num=“432232121678”;
var num2=“221”;
函数解析(num)
{
var千=num.substring(0,num.length-3);
如果(千分之一长度>0)
{
返回“+000.replace(/\B(?=(?:\d{3})+(?!\d))/g,”,“+”,“+num.substring(num.length-3)
}
返回num;
}
解析(num);
解析(num2);
输出
"<span class="someColorClass">432,232,121</span>,678"
"221"
“432232121678”
"221"
如果以百万计,则无法突出显示千。
则这不是正确的解决方案。此解决方案是短视的。+1用于处理超过千的情况。请注意,OP中的代码和此答案均不包含小数点。这严格适用于整数。