Форум программистов, компьютерный форум, киберфорум
Наши страницы

JavaScript

Войти
Регистрация
Восстановить пароль
 
usc
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 4
#1

Добавить padding к каждой цифре - JavaScript

18.08.2014, 20:15. Просмотров 312. Ответов 11
Метки нет (Все метки)

Вообщем использую такой код, который должен добавлять к каждой цифре padding:5px

Javascript
1
2
3
4
<script language='javascript' type='text/javascript'>
var myOldString = "1,2,3,4,5,6</br>1,2,3,4,5,6</br>1,2,3,4,5,6"
var  myNewString = myOldString.replace(/([0-9]+),?/g , ' <span style="padding:5px">$1</span> ');
document.write(myNewString);</script>
В редакторе скрипт работает на ура, но только стоит его перенести на сервер, он работает не корректно, а именно добавляет padding не к каждой цифре, а создает <span style="padding:5px">1,2,3,4,5,6</span>, а ведь должно быть вот так: <span style="padding:5px">1</span><span style="padding:5px">2</span> и т.д.
В чем ошибка?
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2014, 20:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить padding к каждой цифре (JavaScript):

два параметра padding - JavaScript
привет есть див с падингом &lt;div style=&quot;padding: 23px 18px&quot;&gt;&lt;/div&gt; нужно взять их значения и уменьшить на определенное число, как это...

jQuery. Вопрос с padding, заданным в процентах. - jQuery
Доброе утро. Подскажите, есть ли на функция, возвращающая значение padding? Т.е. если я задал, к примеру, style = &quot;padding-left:20%;&quot;, то...

Input type=text padding-top, padding-bottom в safari не работают - HTML, CSS
&lt;!DOCTYPE html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt; &lt;style&gt; /*...

добавить 1 к последней цифре числа - Turbo Pascal
решить в паскале . добавить 1 к последней цифре числа например 49 = 410 38 = 39

Поменять местами 4 и 5 разряды в каждой цифре числа - Assembler
Всем доброго времени суток. Есть задание, которое нужно выполнить на ассемблере. Ввести число в 10й системе, перевести его в...

Определить, кратно ли число каждой своей цифре - C#
Дано натуральное трехзначное число n, в записи которого нет нулей. Составить алгоритм, который возвращает значение ИСТИНА, если верно...

11
FraidZZ
Ex-Member
3898 / 1524 / 229
Регистрация: 06.01.2013
Сообщений: 4,050
Завершенные тесты: 1
18.08.2014, 20:19 #2
Цитата Сообщение от usc Посмотреть сообщение
но только стоит его перенести на сервер
А как Вы его на сервер переносите?
0
usc
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 4
18.08.2014, 20:26  [ТС] #3
Вообще через bbcode на форуме, но вот, например, такая конструкция работает нормально:

Javascript
1
2
3
4
5
<script language='javascript' type='text/javascript'>
    var myOldString = "1,2,3,4,5,6</br>1,2,3,4,5,6</br>1,2,3,4,5,6"
    var myNewString = myOldString.replace(/,/g , " ");
    document.write(myNewString);
</script>
0
Thisman
363 / 334 / 81
Регистрация: 17.07.2013
Сообщений: 950
19.08.2014, 04:48 #4
Цитата Сообщение от usc Посмотреть сообщение
Javascript
1
var *myNewString = myOldString.replace(/([0-9]+),?/g , ' <span style="padding:5px">$1</span> ')
Javascript
1
2
3
var  myNewString = myOldString.replace(/([0-9]+),?/g , function (el) {
     return ' <span style="padding:5px">' + el + '</span> ');
});
1
newJS
2390 / 1063 / 98
Регистрация: 23.06.2011
Сообщений: 3,323
19.08.2014, 06:33 #5
Цитата Сообщение от usc Посмотреть сообщение
который должен добавлять к каждой цифре padding:5px
Thisman, вроде челу нужно каждую отдельно взятую цифру, а не пачки.

А не много ли лишнего кода генерится?
Может всю цифирь взять в контейнер, а саму цифру заворачивать в "короткий" тег, типа, b, u, s, i.
И один раз прописать css для контейнера.
1
Thisman
363 / 334 / 81
Регистрация: 17.07.2013
Сообщений: 950
19.08.2014, 07:52 #6
newJS,
Javascript
1
/([0-9]+),?/g
эта же регулярка находит все шаблоны вида число-запятая, что нам и нужно, а модификатор g означает что будут находится все выражения попадающие под шаблон, разве нет?

Добавлено через 2 минуты
newJS,
Javascript
1
2
3
4
5
6
7
8
9
"1,2,3,4,5".replace(/([0-9]+),?/g,function (el) { return ' <span style="padding:5px">' + el + '</span> '})
//вот результат
/* " 
<span style="padding:5px">1,</span>  
<span style="padding:5px">2,</span> 
<span style="padding:5px">3,</span> 
<span style="padding:5px">4,</span>  
<span style="padding:5px">5</span> " 
*/
1
newJS
2390 / 1063 / 98
Регистрация: 23.06.2011
Сообщений: 3,323
19.08.2014, 08:21 #7
Цитата Сообщение от Thisman Посмотреть сообщение
разве нет?
Не совсем, нужно каждую цифру завернуть, если я правильно дешифрировал это
Цитата Сообщение от usc Посмотреть сообщение
Вообщем использую такой код, который должен добавлять к каждой цифре padding:5px
Цитата Сообщение от Thisman Посмотреть сообщение
находит все шаблоны вида число-запятая, что нам и нужно
Вот тут то и встаёт вопрос, как у молодого, а что нужно в действительности? одна цифра или число ограниченное запятой?
В зависимости от ответа и регулярка будет соответствующая поставленной задаче.
0
Thisman
363 / 334 / 81
Регистрация: 17.07.2013
Сообщений: 950
19.08.2014, 08:25 #8
newJS,
Цитата Сообщение от usc Посмотреть сообщение
он работает не корректно, а именно добавляет padding не к каждой цифре, а создает <span style="padding:5px">1,2,3,4,5,6</span>
Цитата Сообщение от usc Посмотреть сообщение
а ведь должно быть вот так: <span style="padding:5px">1</span><span style="padding:5px">2</span> и т.д.
Основывался на этом.
0
usc
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 4
19.08.2014, 11:32  [ТС] #9
Thisman, Спасибо, вот только по-моему скобка лишняя здесь:

Javascript
1
2
3
var  myNewString = myOldString.replace(/([0-9]+),?/g , function (el) {
     return ' <span style="padding:5px">' + el + '</span> '[COLOR="Red"])[/COLOR];
});
Код замечательный, вот только он запятые не удаляет.
А вообще должно удалять запятые и присваивать каждой цифре паддинг.
В любом случае большое спасибо!

Добавлено через 4 минуты
Грубо говоря имеем:

HTML5
1
1,2,3,4,5,6</br>1,2,3,4,5,6 и т.д.
На выходе:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<span style="padding:5px">1</span>  
<span style="padding:5px">2</span> 
<span style="padding:5px">3</span> 
<span style="padding:5px">4</span>  
<span style="padding:5px">5</span> 
<span style="padding:5px">6</span> 
<br>
<span style="padding:5px">1</span>  
<span style="padding:5px">2</span> 
<span style="padding:5px">3</span> 
<span style="padding:5px">4</span>  
<span style="padding:5px">5</span>
<span style="padding:5px">6</span>
И т.д.
0
Thisman
363 / 334 / 81
Регистрация: 17.07.2013
Сообщений: 950
19.08.2014, 11:44 #10
usc, что бы запятые удалять, можно так:

Javascript
1
2
3
"1,2,3,4,5".replace(/([0-9]+),?/g , function (el) {
     return ' <span style="padding:5px">' + el.replace(/,/g,"") + '</span> ';
});
Без запятых будет
1
usc
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 4
19.08.2014, 12:29  [ТС] #11
Спасибо! Работает. Хотя конечно и со странностями, например, если какую-то цифру обрамить в тег, например так:
1,2,3,<b>4,</b>5
то запятую не удаляет, хотя в остальном все нормально.
Почему , не понятно.
0
Thisman
363 / 334 / 81
Регистрация: 17.07.2013
Сообщений: 950
19.08.2014, 12:36 #12
usc, ну потом что регулярка такая. Все по шаблону: цифры-запятая
0
19.08.2014, 12:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2014, 12:36
Привет! Вот еще темы с ответами:

Добавить слово к цифре в каждую ячейку - MS Excel
Как сделать в столбце чтобы к введеной цифре прибавлялось слово автоматом. То есть в графе сумма в ячейке приписывалось (руб).

Через циклы for присвоить каждой цифре отдельную переменную. - Matlab
Дано число, состоящие из n цифр. через циклы for присвоить каждой цифре отдельную переменную что у меня получилось: k='123456789' ...

Как в цикле обратится к каждой цифре заданного числа? - C++
Например, есть число 1234567890!!!! Как в цикле обратится к каждой цифре етого числа???

Обнулить в каждой цифре нечётный бит, вывести получившееся число и сумму его цифр - Turbo Pascal
Битовые операции + pchar ввести 4-е число произвольной длины, обнулить в каждой цифре нечётный бит, вывести получившееся число и сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru