我有一个< p>与123456789值在javascript中将123456789值转换为123.456.789的最简单方法是什么?
我需要将我的< p>值转换为123.456.789数字。 js中最简单的方法是什么?
我有一个< p>与123456789值在javascript中将123456789值转换为123.456.789的最简单方法是什么?
我需要将我的< p>值转换为123.456.789数字。 js中最简单的方法是什么?
可以使用.match()
与RegExp
/\d{3}(?=\d{6}|\d{3}|$)/g
以匹配三个数字,随后六位数字,三个数字或字符串的结尾,链.join()
到阵列由.match()
与参数"."
var str = "123456789";
var res = str.match(/\d{3}(?=\d{6}|\d{3}|$)/g).join(".");
console.log(res);
返回正则表达式结合html
将足以让它工作得很漂亮:
$(".telephone").html(function() {;
return $(this).html().match(/[0-9]{3}/g).join('.');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="telephone">123456789</p>
你是对的,但我们是(或者仅仅是我?)教给代码以最好的表现,所以选择通过jQuery时,它就像在“香草”中一样容易并不是“最优”一样。偏好,但从我看到的意见往往倾向于我所说的 – FrenchMajesty
尝试它使用正则表达式。 match()
函数创建一个数组,join('.')
将数组元素连接到所需的输出。
str = "123456789";
str = str.match(/.{1,3}/g).join('.')
console.log(str)
失败,如果字符串长度不是3的倍数,如'1234' – Thomas
@Thomas _“失败,如果字符串长度不是3的倍数,如'1234'“_这不是现在问题的要求,不是?什么”失败“? – guest271314
@托马斯我检查了”1234“。得到123.4。在这种情况下,这是否失败? – DroidNoob
尝试使用此功能。 对于任何数字和任何你所经过的分隔符都很有用。
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);
我有使用一些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, '.');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="number">123456789</p>
不清楚你想达到的目标。 123.456.789不是浮点数。你是否在尝试制作类似“123456789”的东西? –
向我们展示您到目前为止所尝试的内容,以便我们可以帮助您改进代码。 – Zim84
'123456789..toLocaleString('it')'(我选择'it'因为我知道'it'使用'.'表示千位分隔符,'''表示小数点“逗号”,所以会输出*字符串*'“ 123.456.789“'....'123456789..toLocaleString('en')''可以保证'”123,456,789“ - 如果你只想使用用户区域设置...使用他们的语言环境规则 –