![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
17.05.2013, 11:28
|
![Аватар для Кирюха =)](https://javascript.ru/forum/image.php?u=14701&dateline=1347294212) |
Профессор
|
|
Регистрация: 27.07.2011
Сообщений: 207
|
|
Разбиение числа по 3 символа (изящный способ)
Всем привет!!! Задался недавно проблемой есть допустим строка 50000, как при помощи js преобразовать ее в 50 000, наиболее изящным способом. Я уверен что есть такое решение.... О искусники помогите ![Help](https://javascript.ru/forum/images/smilies/help.gif)
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
17.05.2013, 11:47
|
![Аватар для Hekumok](https://javascript.ru/forum/image.php?u=21338&dateline=1344715033) |
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
function gap(n) {
return n.replace(/\d{0,3}(?=(\d{3})+$)/g, "$& ") ;
}
alert([gap("50000"), gap("1234567890")]) ;
__________________
★ ²º¹³ ☆
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
17.05.2013, 11:49
|
Профессор
|
|
Регистрация: 14.09.2011
Сообщений: 523
|
|
В книге по регуляркам было
var str = '5000022222121';
var reg = /(\d)(?=(\d\d\d)+\b)/ig
alert(str.replace(reg, '$1 '))
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
18.05.2013, 01:05
|
![Аватар для Кирюха =)](https://javascript.ru/forum/image.php?u=14701&dateline=1347294212) |
Профессор
|
|
Регистрация: 27.07.2011
Сообщений: 207
|
|
ksa, я не знал как задать поисковой запрос)))) вводил всякую чушь например разбиение числа..... и тп)))
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
18.05.2013, 01:08
|
![Аватар для Кирюха =)](https://javascript.ru/forum/image.php?u=14701&dateline=1347294212) |
Профессор
|
|
Регистрация: 27.07.2011
Сообщений: 207
|
|
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
18.05.2013, 01:09
|
![Аватар для Кирюха =)](https://javascript.ru/forum/image.php?u=14701&dateline=1347294212) |
Профессор
|
|
Регистрация: 27.07.2011
Сообщений: 207
|
|
Hekumok,
Спасибо, это именно тот исскусный способ)))) + 1 в копилку
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
18.05.2013, 11:28
|
![Аватар для Aetae](https://javascript.ru/forum/image.php?u=4993&dateline=1299014303) |
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Вариант от zebra лучше, но так няшнее:
function gap(str, separator) {
return str.replace(/\d(?=(?:\d{3})+\b)/g, "$&" + (separator||' ')) ;
}
alert([gap("прапрапр 50000 рпвр 5999 вопр", ','), gap("1234567890"), gap("123456789", '-')]) ;
Вариант от Hekumok ошибочен в {0,3}, ибо:
function gap(n) {
return n.replace(/\d{0,3}(?=(\d{3})+$)/g, "$&-") ;
}
alert(gap("123456789")) ;
__________________
29375, 35
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
18.05.2013, 12:32
|
Профессор
|
|
Регистрация: 14.09.2011
Сообщений: 523
|
|
Сообщение от Кирюха =)
|
А что есть отдельная книга посвященная регулярным выражениям?????
|
Да есть. Читаю как раз. Называется "регулярные выражения 3-е издание"
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
18.05.2013, 19:56
|
![Аватар для Кирюха =)](https://javascript.ru/forum/image.php?u=14701&dateline=1347294212) |
Профессор
|
|
Регистрация: 27.07.2011
Сообщений: 207
|
|
Сообщение от Aetae
|
Вариант от zebra лучше, но так няшнее:
function gap(str, separator) {
return str.replace(/\d(?=(?:\d{3})+\b)/g, "$&" + (separator||' ')) ;
}
alert([gap("прапрапр 50000 рпвр 5999 вопр", ','), gap("1234567890"), gap("123456789", '-')]) ;
Вариант от Hekumok ошибочен в {0,3}, ибо:
function gap(n) {
return n.replace(/\d{0,3}(?=(\d{3})+$)/g, "$&-") ;
}
alert(gap("123456789")) ;
|
И правда няшней, возьму ваш))))
|
|
|
|