我有一个< p> 123456789值
我需要转换我的< p>值为123.456.789。在js中最简单的方法是什么?
答案 0 :(得分:3)
使用正则表达式尝试。 match()
函数创建一个数组,join('.')
将数组元素连接到所需的输出。
str = "123456789";
str = str.match(/.{1,3}/g).join('.')
console.log(str)

答案 1 :(得分:2)
尝试使用此功能。 适用于您通过的任何数字和任何分隔符。
function formatNumber(n, d) // n = number, d = delimeter
{
// round to 2 decimals if cents present
n = (Math.round(n * 100) / 100).toString().split('.');
var
myNum = n[0].toString(),
fmat = new Array(),
len = myNum.length,
i = 1, deci = (d == '.') ? '' : '.';
for (i; i < len + 1; i++)
fmat[i] = myNum.charAt(i - 1);
fmat = fmat.reverse();
for (i = 1; i < len; i++)
{
if (i % 3 == 0) {
fmat[i] += d;
}
}
var val = fmat.reverse().join('') +
(n[1] == null ? deci + '':
(deci + n[1])
);
return val;
}
var res = formatNumber(123456789,'.');
console.log(res);
&#13;
答案 2 :(得分:0)
您可以使用.match()
与RegExp
/\d{3}(?=\d{6}|\d{3}|$)/g
匹配三位数,后跟六位数字,三位数字或字符串结尾,链{{1}}到{{}返回的数组1}}带参数.join()
.match()
&#13;
答案 3 :(得分:0)
正则表达式与html
相结合将足以让它以漂亮的方式运作:
$(".telephone").html(function () {;
return $(this).html().match(/[0-9]{3}/g).join('.');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="telephone">123456789</p>
&#13;
答案 4 :(得分:0)
我使用了一些jquery代码,请试试这个!希望这可以帮到你! :)
$('.number').text(function () {
var txt = $(this).text();
return txt.replace(/\B(?=(?:\d{3})+(?!\d))/g, '.');
});
$(document).ready(function(){
$('.number').text(function () {
var txt = $(this).text();
return txt.replace(/\B(?=(?:\d{3})+(?!\d))/g, '.');
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="number">123456789</p>
&#13;
答案 5 :(得分:0)
const convert= (str)=>{
let newStr=""
let pointer=0;
while(pointer < str.length){
newStr += str.charAt(pointer)
if(str.charAt(pointer) % 3 === 0 && pointer !== str.length-1){
newStr += "."
}
pointer++
}
console.log(newStr)
}
convert("123456789");