<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>如何给字符串加千分符</title>
</head>
<body>
<script>
/*
* 问题描述:
* 如何给字符串加千分符
* 例如:3562123761 -> 3,562,123,761
* */
var a = '3562123761';
/*
* 解法一:字符串
* */
(function (a) {
var arr = a.split('');
for (var i = arr.length - 1; i > -1; i--) {
if ((i + 1) % 3 === 0) {
arr.splice(i - 1, 0, ',');
}
}
var res = arr.join('');
console.log(res);
})(a);
/*
* 解法二:正则
* 先讲解一下 正向声明和反正向声明
* ①前向声明 (?=)
* var str = 'abacad';
* var re = /a(?=b)/g;
* var res = str.replace(re, '*');
* alert(res);
* 把str(abacad)中出现ab的部分中的a替换为*号
* 结果 : *bacad
*
* ②反前向声明 a(?!b)
* var str = 'abacad';
* var re = /a(?!b)/g;
* var res = str.replace(re, '*');
* alert(res);
* 把str(abacad)中不是出现ab的部分(ac,ad)中的a替换为*号
* 结果 : ab*c*d
* */
/*(function (a) {
var re = /(?=(?!\b)(\d{3})+$)/g;
var res = a.replace(re, ',');
alert(res);
})(a);*/
</script>
</body>
</html>
网友评论