Разбиение числа по 3 символа (изящный способ)
Всем привет!!! Задался недавно проблемой есть допустим строка 50000, как при помощи js преобразовать ее в 50 000, наиболее изящным способом. Я уверен что есть такое решение.... О искусники помогите :help:
|
function gap(n) { return n.replace(/\d{0,3}(?=(\d{3})+$)/g, "$& ") ; } alert([gap("50000"), gap("1234567890")]) ; |
Цитата:
|
В книге по регуляркам было
var str = '5000022222121'; var reg = /(\d)(?=(\d\d\d)+\b)/ig alert(str.replace(reg, '$1 ')) |
ksa, я не знал как задать поисковой запрос)))) вводил всякую чушь например разбиение числа..... и тп)))
|
Цитата:
Если да, то скажите автора и название, я ее буду страстно читать..... а то я пробовал с регулярными выражениями разобраться и все никак не получалось(((( |
Hekumok,
Спасибо, это именно тот исскусный способ)))) + 1 в копилку |
Вариант от 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")) ; |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 09:46. |