在javascript中将123456789值转换为123.456.789的最简单方法是什么?

时间:2017-04-05 04:53:17

标签: javascript jquery html

我有一个< p> 123456789值

我需要转换我的< p>值为123.456.789。在js中最简单的方法是什么?

6 个答案:

答案 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;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用.match()RegExp /\d{3}(?=\d{6}|\d{3}|$)/g匹配三位数,后跟六位数字,三位数字或字符串结尾,链{​​{1}}到{{}返回的数组1}}带参数.join()

&#13;
&#13;
.match()
&#13;
&#13;
&#13;

答案 3 :(得分:0)

正则表达式与html相结合将足以让它以漂亮的方式运作:

&#13;
&#13;
$(".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;
&#13;
&#13;

答案 4 :(得分:0)

我使用了一些jquery代码,请试试这个!希望这可以帮到你! :)

$('.number').text(function () { var txt = $(this).text(); return txt.replace(/\B(?=(?:\d{3})+(?!\d))/g, '.'); });

&#13;
&#13;
$(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;
&#13;
&#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");