'12345678912345678'.replace(/\B(?=(?:\d{3})+\b)/g, ',') 解释: \b : 匹配单词边界,就是位于字符\w([a-zA-Z0-9_])和\W[^a-zA-Z0-9_]之间的位置,或者位于字符\w和字符串的开头或者结束之间的位置. \B : 匹配非单词边界 var reg = /\b\d/g; var str = '123'; reg.exec(str);//["1",index:0,input:"123"] re…
原文:https://www.cnblogs.com/sivkun/p/7123963.html })+\b)/g, ',') 解释: \b : 匹配单词边界,就是位于字符\w([a-zA-Z0-9_])和\W[^a-zA-Z0-9_]之间的位置,或者位于字符\w和字符串的开头或者结束之间的位置. \B : 匹配非单词边界 var reg = /\b\d/g; '; reg.exec(str);//["1",index:0,input:"123"] reg.exec…
function formatNum(num) { if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){alert("wrong!"); return num;} var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3; var re = new RegExp().compile("(\\d)(\\d{3})(,|$)"); while(re.test(b)) b = b.replace(re, &…
/** 题目:E - Leading and Trailing 链接:https://vjudge.net/contest/154246#problem/E 题意:求n^k得前三位数字以及后三位数字,保证一定至少存在六位. 思路:后三位求法只要不断对1000取余就行了. 前三位求法: 对一个数x,他可以用科学计数法表示为10^r*a (r为次方,1<=a<10) 设:n^k = x = 10^r*a 两边取对数: k*log10(n) = log10(x) = r+log10(a); 令y =…
我们知道C语言中,如果要求输出结果保留三位小数,我们可以使用pritf()函数轻松的解决.但是C++的输出运算符<<并没有直接实现这个功能,怎么办呢?之前在找答案的过程中各路大神给出了千姿百态的答案,我不会进行一一总结,但是我今天主要的目的是说C++中std命名空间中直接实现了这个的!!!不要化简为繁!!! 我以一个例子作为讲解: 已知线段的两个端点坐标是A(xa,ya),B(xb,yb),求线段AB的长度,保留到小数点后3位. 样例输入:1    1 2    2 样例输出:1.414 代码…
梳理思路 要先明白的是,我们将要转换成的数字格式是这样:从个位往左数起,每三位前插入一个千位分隔符,,即可以想象成我们要把每三位数字前面的那个空""匹配出来,并替换成千位分隔符,.每个千位分隔符后面的数字个数是3个或3的倍数个. 代码书写 创建一个正则表达式字面量,并加上全局匹配修饰符g.var reg = //g; W3C对全局匹配的解释是:查找所有匹配而非在找到第一个匹配后停止. 因为需要从右往左匹配,所以表示结尾的$是必须要有的.三位数字用\d{3}来表示,由于我们不知道究竟有多…
验证是否为数字:/^[0-9]*$/验证是否为汉字:/^[\u4e00-\u9fa5],{0,}$/验证x-y位的数字:/^\d{x,y}$/验证由26个英文字母组成的字符串:/^[A-Za-z]+$/验证由数字和26个英文字母组成的字符串:/^[A-Za-z0-9]+$/验证由数字.26个英文字母或者下划线组成的字符串:/^\w+$/验证是否含有 ^%&',;=?$\" 等字符:/[^%&',;=?$\x22]+/验证用户密码:/^[a-zA-Z]\w{5,17}$/(正确格式…
// 方法一 unction toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split(''); for (var i = num.length - 1; i >= 0; i--) { counter++; result.unshift(num[i]); if (!(counter % 3) && i != 0) { result.unshift(','); } } retu…
function toThousands(num) { var num = (num || 0).toString(), result = ''; //判断是否带小数点 if (num.split('.')[1]) { var numInt = num.split('.')[0], numFlo = num.split('.')[1]; result = formatter(numInt) + '.' + numFlo } else { result = formatter(num); } re…
听说你用什么正则?我这有个骚操作了解下.. toLocaleString() 方法可把一个 Number 对象转换为本地格式的字符串. ().toLocaleString('en-US') "123,456,789"…