Мне нужна ваша помощь. У меня есть текст: hello #005 goodbye
. Как сделать js заменить текст, начинающийся с #
от img like <img src=/img/005.gif>
if number (005<120)
? Должно быть, я что-то вроде hello <img src=/img/005.gif> goodbye
заменить символ-номер на gif
ответ
В двух шагах, чтобы показать процессу
var str = "hello #005 goodbye",
num = str.match(/\#(\d+) /)[1],
gif = '<img src="/img/'+num+'.gif" />';
console.log(str.replace("#"+num,gif));
Один шаг - тест на 3 цифры слишком
var str = "hello #005 goodbye"
.replace(/\#(\d{3})/,'<img src="/img/$1.gif" />');
console.log(str);
С испытанием:
function addGif(str) {
var num = str.match(/\#(\d+)/),
gif = num &&
num.length > 0 &&
parseInt(num[1]) >= 5 &&
parseInt(num[1]) <= 120 ? '<img src="/img/' + num[1] + '.gif" />' : "";
return gif ? str.replace("#" + num[1], gif) : "no number or number not in range";
}
var str = "hello # goodbye"; // will not return a match
console.log(addGif(str))
str = "hello #" // will not return a match
console.log(addGif(str))
str = "hello #005" // will return a match
console.log(addGif(str))
str = "hello #1005" // will not return a match
console.log(addGif(str))
str = "hello #100" // will return a match
console.log(addGif(str))
str = "hello #1111111111 goodbye" // will not return a match
console.log(addGif(str))
Спасибо за быструю помощь! –
..... пожалуйста – mplungjan
Почему два шага, когда нужен только один? простая группа захвата и $ 1 .... – epascarello
не имеет смысла делать это в два этапа, когда вы можете сделать это в одном. Группа захвата взамен - 1 доллар, поэтому вы помещаете ее туда, где хотите, чтобы номер пошел.
var str = "hello #005 goodbye",
result = str.replace(/#(\d+)/,'<img src="/img/$1.gif" />');
console.log(result);
С чеком внутри заменить требование номер я пропустил 2 раза я прочитал вопрос!
var str = "hello #005 goodbye",
result = str.replace(/#(\d{3})/, function (x, group1) {
var num = parseInt(group1);
return num >= 5 && num<=120 ? '<img src="/img/' + group1 + '.gif" />' : group1;
});
console.log(result);
Вы правы. но мне нужно проверить, больше ли число или меньше 120, поэтому предыдущий ответ более полезен для меня. но все равно спасибо вам, например, –
@ Андрей _-_ Я видел, что кофе не пинал .... – epascarello
epascarello LOL –
- 1. Заменить кнопку отправки с загрузкой gif
- 2. Как заменить логотип gif на флеш-логотип в magento?
- 3. Как заменить .gif на .jpg, когда активна функция «перетаскивания»?
- 4. Заменить ImageView от PNG до GIF
- 5. Разделить GIF на фреймы
- 6. Замена MOTD на Gif
- 7. GIF Скорость на компьютере?
- 8. Анимация gif на прокрутку.
- 9. Замените все PNG на GIF в jquery?
- 10. Заменить загрузки GIF с текстом, когда загрузка отделка (Curl)
- 11. Заменить изображение на javascript
- 12. Java: Наложение/наложение анимированного gif на другой анимированный gif
- 13. Копирование цвета с одного изображения gif на новое изображение gif
- 14. Удалить форму отправить кнопку и заменить при загрузке gif
- 15. replicate preg заменить на javascript
- 16. Загрузка GIF-заполнитель на: парить
- 17. Анимированный GIF на Fabric.js Canvas
- 18. Показать gif на imagebutton android
- 19. Дисплей анимированный GIF на JPanel
- 20. Gifshot GIF chrashes на загрузки
- 21. phonegap :: анимированный gif на gmap
- 22. Gif Crashing на устройстве iOS
- 23. Сохранить .gif на сд карту
- 24. Как сделать gif на pygame?
- 25. Анимация изображения .GIF на JPanel
- 26. GIF случайное поведение на Firefox10
- 27. Сбросить анимированный gif на pageload
- 28. изменить значок меню на gif
- 29. Как сохранить GIF на iPhone?
- 30. Загрузка gif на странице загрузки
Так что базовое регулярное выражение замены() – epascarello