我有一個< 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「 - 如果你只想使用用戶區域設置...使用他們的語言環境規則 –