Регулярное выражение + вставить изображения
Здравствуйте! Подскажите регулярку.
Из url: http://....../#page=reviews?id=2?§ion=1?&status=5 и т.д. Нужно получить id,section,status все после знака равно до вопросительного если имеется. Было бы здорово функцию, для каждой переменой присваивать значение, к примеру: var id = function('id'); var section= function('section'); var status= function('status'); И ещё такой вопрос. Есть редактируемый div, по клику вставляются в него смайлы, но почему то фокус всегда сбрасывается в самое начало. function smile_add(src){ $('.block').html($('block').html() + '<img class="smile" src="'+src+'"/>'); $('.block').focus(); } Благодарю за помощь! |
Цитата:
var url='http://....../#page=reviews?id=2?§ion=1?&status=5 '; alert(getPrm('id',url)) alert(getPrm('section',url)) alert(getPrm('status',url)) function getPrm(Name,Url){ var reg=new RegExp(Name+'=[^?&]*'); return Url.match(reg).toString().split('=')[1]; }; Но это если переменные не повторяются... |
Цитата:
Цитата:
|
ksa, благодарю, переменные всегда разные. Погуглил понял, что с div contenteditable не все так просто со вставкой. К примеру:
Текст текст [тут каретка], если данным кодом вставляем смайл, то получается так: Текст текст [тут каретка] смайл. А хотелось бы, что бы каретка перемещалась и вставала после смайла. <div contenteditable="true" onFocus="contenteditable_placeholder('text_edit');" onblur="contenteditable_placeholder('text_edit');" class="text_edit">Введите текст...</div> function smile_add(src){ $('.text_edit').html($('.text_edit').html() + '<img class="smile" src="'+src+'"/>'); $('.text_edit').focus(); } |
Цитата:
Но у нас есть варианты... ;) http://javascript.ru/forum/css-html/...tri-tegov.html |
по вставкам и кареткам
https://learn.javascript.ru/range-textrange-selection |
ksa, там речь о textarea вроде как, не?)
|
ksa,
var id = getPrm('id'); function getPrm(Name){ var url = window.location.href; var reg = new RegExp(Name+'=[^?&]*'); return url.match(reg).toString().split('=')[1]; } Если в url нет get, то ошибка и загрузка останавливается, ругается на: Cannot read property 'toString' of null. Если в урл нет переменных, возможно, что бы возвращало пусто значение? |
function getPrm(Name, url){ url = url || window.location.href; var m = RegExp(Name + '=([^?&#]*)').exec(url); return m ? m[1] : ''; } |
Alexandroppolus, благодарю. С contenteditable не совсем понятно. Возможно ли смайл вставлять в то место, где находится каретка?
|
Часовой пояс GMT +3, время: 00:09. |