Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
usc
0 / 0 / 0
Регистрация: 18.08.2014
Сообщений: 4
#1

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

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

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

http://www.cyberforum.ru/javascript/thread334989.html
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):

Добавить id каждой Li
Здравствуйте. Представим, что я не могу редактировать html код, У меня есть ...

jQuery. Вопрос с padding, заданным в процентах.
Доброе утро. Подскажите, есть ли на функция, возвращающая значение padding?...

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

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

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

11
Eva Rosalene
Male-to-Female
4049 / 1586 / 301
Регистрация: 06.01.2013
Сообщений: 4,176
Завершенные тесты: 2
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
Модератор
757 / 339 / 134
Регистрация: 17.07.2013
Сообщений: 961
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
2395 / 1068 / 307
Регистрация: 23.06.2011
Сообщений: 3,330
19.08.2014, 06:33 #5
Цитата Сообщение от usc Посмотреть сообщение
который должен добавлять к каждой цифре padding:5px
Thisman, вроде челу нужно каждую отдельно взятую цифру, а не пачки.

А не много ли лишнего кода генерится?
Может всю цифирь взять в контейнер, а саму цифру заворачивать в "короткий" тег, типа, b, u, s, i.
И один раз прописать css для контейнера.
1
Thisman
Модератор
757 / 339 / 134
Регистрация: 17.07.2013
Сообщений: 961
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
2395 / 1068 / 307
Регистрация: 23.06.2011
Сообщений: 3,330
19.08.2014, 08:21 #7
Цитата Сообщение от Thisman Посмотреть сообщение
разве нет?
Не совсем, нужно каждую цифру завернуть, если я правильно дешифрировал это
Цитата Сообщение от usc Посмотреть сообщение
Вообщем использую такой код, который должен добавлять к каждой цифре padding:5px
Цитата Сообщение от Thisman Посмотреть сообщение
находит все шаблоны вида число-запятая, что нам и нужно
Вот тут то и встаёт вопрос, как у молодого, а что нужно в действительности? одна цифра или число ограниченное запятой?
В зависимости от ответа и регулярка будет соответствующая поставленной задаче.
0
Thisman
Модератор
757 / 339 / 134
Регистрация: 17.07.2013
Сообщений: 961
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
Модератор
757 / 339 / 134
Регистрация: 17.07.2013
Сообщений: 961
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
Модератор
757 / 339 / 134
Регистрация: 17.07.2013
Сообщений: 961
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
Привет! Вот еще темы с решениями:

Определить, кратно ли число каждой своей цифре
Дано натуральное трехзначное число n, в записи которого нет нулей. Составить...

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

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

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


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

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

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