js数字每三位加逗号(添加数字千分位逗号正则分析)

本文目录
- 添加数字千分位逗号正则分析
- js 金额用,隔开(千分位加逗号) 例如 100,222.123
- javascript把数字每隔三位加逗号分开
- 请问html如何让3位数以上的值显示时带有分隔逗号,如:“123,456,78”
- 写一个js函数,添加千位分隔符
- js将文字每隔三个字符插入一个逗号
添加数字千分位逗号正则分析
当数字比较长时,为了方便阅读和快速判断大小,会每隔三位添加一个逗号。
为了实现这个效果方法很多。其中之一就是使用正则表达式。
这个方法简介,优雅。但是正则表达式看上去有点复杂。下面就对这个正则来个细致分解;
有了上述规则就能理解这个表达式了么?很明显还是不行。就跟理解一句复杂的英语一样,每一个单词都认识,但是依旧不能理解一句话是什么意思。
我们的目的是找到插入逗号的位置。平时使用正则都是获得匹配的字符串,而匹配位置可能感觉有点陌生。什么样子的正则会返回匹配的位置呢?答案是 断言 ,也就是上述语法的 ?= , ?! 。 它匹配到的内容不会保存到匹配结果中去,最终匹配结果只是一个位置而已。
例如: (?=ar) 匹配后面跟着 ar 的位置,如下图所示。
现在再回头看 (?=(?!\b)(\d{3})+$) ,就可以确定它返回的是满足条件的位置。满足什么条件呢?
先看 (?=(\d{3})+$) 这部分,
至于 /(?=(?!\b)(\d{3})+$)/g 中的 (?!\b) ,是处理最前面可能出现的逗号。如图
上述内容如有不正之处,希望各位能积极指出。
完整的JS正则规则
正则表达式实现:原理
正则表达式——正则表达式的匹配过程
正则表达式零宽断言详解(?=,?《=,?!,?《!)
在线正则练习
js 金额用,隔开(千分位加逗号) 例如 100,222.123
numFormat(num) {
var c = (num.toString().indexOf (’.’) !== -1) ? num.toLocaleString() : num.toString().replace(/(\d)(?=(?:\d{3})+$)/g, ’$1,’);
return c;
}
console.log(this.numFormat(20181029.120))
//格式化钱数,三位加一逗号
function toThousands(number) {
number = number +"";
number = number.replace(/\,/g, "");
if(isNaN(number) || number == "")return "";
number = Math.round(number * 100) / 100;
if (number 《 0)
return ’-’ + outputdollars(Math.floor(Math.abs(number) - 0) + ’’) + outputcents(Math.abs(number) - 0);
else
return outputdollars(Math.floor(number - 0) + ’’) + outputcents(number - 0);
}
//格式化金额
function outputdollars(number) {
if (number.length 《= 3)
return (number == ’’ ? ’0’ : number);
else {
var mod = number.length % 3;
var output = (mod == 0 ? ’’ : (number.substring(0, mod)));
for (i = 0; i 《 Math.floor(number.length / 3); i++) {
if ((mod == 0) && (i == 0))
output += number.substring(mod + 3 * i, mod + 3 * i + 3);
else
output += ’,’ + number.substring(mod + 3 * i, mod + 3 * i + 3);
}
return (output);
}
}
function outputcents(amount) {
amount = Math.round(((amount) - Math.floor(amount)) * 100);
return (amount 《 10 ? ’.0’ + amount : ’.’ + amount);
}
javascript把数字每隔三位加逗号分开
function addCommas(nStr)
{
nStr += ’’;
x = nStr.split(’.’);
x1 = x;
x2 = x.length 》 1 ? ’.’ + x : ’’;
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, ’$1’ + ’,’ + ’$2’);
}
return x1 + x2;
}
有没有小数点通吃
请问html如何让3位数以上的值显示时带有分隔逗号,如:“123,456,78”
如果是静态页面或者静态数据,那么带逗号你自己手动输入即可,如果是生成或者输入后需要变化的数据,那就用脚本加逗号就行了,下面就是脚本,你在输入框中输入数字,就会自动变化,这只是提供一个思路而已,这方面你可以用其他的js脚本
《script》
function cc(s){
if(//.test(s)) return "invalid value";
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return s.replace(/^\./,"0.")
}
《/script》
《input onchange="this.value=cc(this.value)"》
写一个js函数,添加千位分隔符
思路:添加千位分隔符是从后到前,每3位添加逗号,所以这里输入数据转换成字符串后,利用slice方法的输入负数参数从后取的特点,从后取三位数字保存在数组中,并把取剩后的数据递归重复取值,直到数据不足3位,把剩下一起存入数组中
js将文字每隔三个字符插入一个逗号
方法一:
《script type= "text/javascript"》
var num_s = "1232134456.546 ";alert(parseFloat(num_s).toLocaleString());
《/script》
tolocaleString方法的确可以做到,但不知道为什么,网上似乎都不太喜欢用这种方式,大多是用手写函数
方法二:
《script type="text/javascript"》
function format_number(n){
var b=parseInt(n).toString();
var len=b.length;
if(len《=3){return b;}
var r=len%3;
return r》0?b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(","):b.slice(r,len).match(/\d{3}/g).join(",");
}
var a="53669988.000";
alert(format_number(a));
alert(format_number("wahh"));
alert(format_number(0));
alert(format_number(6698.0023));
《/script》

更多文章:
offset和vlookup组合公式(请问高手,怎么把vlookup的计算结果当成了offset的起点单元格!)
2026年1月22日 02:45
divano的中文意思(关于歌曲The Mass中某一段的翻译问题!)
2025年5月30日 00:00
scum荒岛求生手机版(荒野求生手游怎么手动存档 手动存档方法详解分享)
2026年1月5日 00:45
body art(my school英语作文:我爱我的学校)
2025年9月28日 06:00
hdr建筑设计事务所(介绍几个建筑网站主要是介绍国内外建筑作品的!)
2026年3月26日 17:45
什么时候用inner join(SQL中,用select语句时,为什么有时候要用inner join,有时候不用啊希望好心人帮忙)
2026年7月15日 12:30
competitive with(请以be honest and kind为题,写一篇英语短文两篇)
2026年7月2日 15:30
windowd7虚拟机永恒之蓝浏览器无法显示网页?求助,电脑无法安装永恒之蓝补丁
2026年1月26日 10:45
gradle版本查看(解决Flutter升级后,flutter run 卡在gradle build running的问题)
2026年8月26日 18:30
数据随机变换公式(excel里面怎样设置一组数字在两个数之间随机变化)
2025年6月8日 22:30
怎么下载linux系统镜像文件(Linux操作系统怎么下载!)
2025年9月10日 22:15
include string(#include <string.h>什么意思)
2025年10月19日 10:45
php小项目开发(如何使用Zend Studio创建PHP项目)
2026年7月23日 02:30











