С входом вроде 123456789, как я могу преобразовать его в формат, такой как 123 456 789
с JavaScript?Javascript - Как добавить пробелы между цифрами?
split("").join(" ");
возвращает 1 2 3 4 5 6 7 8 9
С входом вроде 123456789, как я могу преобразовать его в формат, такой как 123 456 789
с JavaScript?Javascript - Как добавить пробелы между цифрами?
split("").join(" ");
возвращает 1 2 3 4 5 6 7 8 9
Используйте substring метод:
var num = "123456789";
var result = "";
var gap_size = 3; //Desired distance between spaces
while (num.length > 0) // Loop through string
{
result = result + " " + num.substring(0,gap_size); // Insert space character
num = num.substring(gap_size); // Trim String
}
alert(result) // "123 456 789"
Вы можете использовать регулярное выражение для этого
var a = "123456789"
a.match(/\d{3}/g).join(" ")
> "123 456 789"
регулярного выражения соответствует группе 3 цифр несколько раз
Вы могли бы :
var formatted = str.replace(/(\d{3})/g, '$1 ').trim();
Если вы хотите всегда пространство, чтобы быть, как далеко от права вы, использовать предпросмотр, который отсчитывает в тройках
'12345678'.replace(/(\d)(?=(\d{3})+$)/g, '$1 '); // "12 345 678"
(?=pattern)
является опережение, \d{3}
составляет 3 цифры, а (pattern)+
означает повторение последнего шаблона один или несколько раз (жадно) до конца Строка$
не тестировался, но, как о '.split (/ (\ d {3}) /)'? –
Вы должны начать с выяснения того, что такое правильный раскол: «12 34 56 78 9» так же справедливо, как «123 456 789» или «1234 5678 9». Слишком широкий. – duffymo
Вы можете использовать substr 'num.substr (0,3) + '' + num.substr (3,3) + '' + num.substr (6,3)' – suvroc