Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 11.01.2011, 22:28
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от MCTrane
всё уже перепробовал что в голове нашёл
потому что если что-то не работает, надо пытаться понять, почему оно не работает. А не наугад перебирать варианты. Поставь себе regexbuddy и разберись, почему оно не работает

а с подобными форматами лучше поступать по-другому:
function QueryString( v ){
    if( v instanceof Array )
        this._assoc = v;
    else {
        this._assoc = {};
        var pairs = v.substr(1).split('&');
        for( var i=0; i<pairs.length; i++ ){
            var nameValue = pairs[i].split('=');
            this._assoc[ decodeURIComponent(nameValue[0]) ] = decodeURIComponent(nameValue[1]);
        }
    }
}

QueryString.prototype.val = function( n, v ){
    if( arguments.length > 1 )
        this._assoc[n] = v;
    return this._assoc[n];
};

QueryString.prototype.unset = function( n ){
    delete this._assoc[n];
};

QueryString.prototype.toAssoc = function(){
    return this._assoc;
};

QueryString.prototype.toString = function(){
    var r = [];
    for( var k in this._assoc )
        r.push( encodeURIComponent(k)+'='+encodeURIComponent(this._assoc[k]) );
    return '?'+r.join('&');
};

function assocToString( assoc ){
    var r = [];
    for( var k in assoc )
        r.push( "'"+k+"': '"+assoc[k]+"'" );
    return '{'+r.join(',')+'}';
}

var qs = new QueryString('?name1=value1&name2=value2');
alert( assocToString(qs.toAssoc()) );
qs.unset( 'name1' );
alert( assocToString(qs.toAssoc()) );
qs.val( 'name3', 'value3' );
alert( assocToString(qs.toAssoc()) );
qs.val( 'name3', 'value4' );
alert( assocToString(qs.toAssoc()) );
alert( qs.val('name2') );
alert( qs.toString() );
Ответить с цитированием
  #52 (permalink)  
Старый 11.01.2011, 23:06
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Сообщение от Aetae Посмотреть сообщение
Возможно все, а это - раз плюнуть.
Но никто не сделает это за вас, учитесь.
Ну раз это так легко, напиши как, пожалуйста.
Сообщение от x-yuri Посмотреть сообщение
потому что если что-то не работает, надо пытаться понять, почему оно не работает. А не наугад перебирать варианты. Поставь себе regexbuddy и разберись, почему оно не работает
Так в том то и дело что работает, только не правильно.

Последний раз редактировалось MCTrane, 11.01.2011 в 23:10.
Ответить с цитированием
  #53 (permalink)  
Старый 12.01.2011, 00:05
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

оно работает правильно, но ты не понимаешь, как оно работает. Разберись, дальше можно будет о чем-то говорить. А ты как думал, тебе тут готовый результат выдадут, а тебе делать ничего не надо будет?
Ответить с цитированием
  #54 (permalink)  
Старый 12.01.2011, 00:09
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Я понимаю почему удаляет всё, я не знаю что добавить чтобы это предотвратить и поэтому думал что невозможно, но Aetae сказал что это возможно.
Ответить с цитированием
  #55 (permalink)  
Старый 12.01.2011, 00:21
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

хорошо, почему удаляет все?
Ответить с цитированием
  #56 (permalink)  
Старый 12.01.2011, 13:13
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Ну потому что у меня первое слово в строке JOOM, а выражение моё читает так:
начинай с JOOM и до test3JOOM удаляй всё. А JOOM у меня в самом начале и поэтому от него и удаляет всё до test3JOOM
Ответить с цитированием
  #57 (permalink)  
Старый 13.01.2011, 06:03
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от MCTrane
удаляй всё
значит осталось ограничить твое "удаляй все" или ".*", например. Какие символы могут использоваться после JOOM и перед *?
Ответить с цитированием
  #58 (permalink)  
Старый 13.01.2011, 14:48
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

Сообщение от x-yuri Посмотреть сообщение
Какие символы могут использоваться после JOOM и перед *?
a-z,0-9 и ещё "_"
Ответить с цитированием
  #59 (permalink)  
Старый 13.01.2011, 15:17
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну и? '.' обозначает любой символ. Как в регулярных выражениях указать "диапазон символов"?
Ответить с цитированием
  #60 (permalink)  
Старый 13.01.2011, 17:31
Аватар для MCTrane
Профессор
Отправить личное сообщение для MCTrane Посмотреть профиль Найти все сообщения от MCTrane
 
Регистрация: 26.11.2009
Сообщений: 204

[a-z], [0-9], но ведь и до нужного JOOM эти символы, так не получиться ограничить.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка e-mail регулярное выражение mycoding Общие вопросы Javascript 4 09.02.2017 10:12
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29
Регулярное выражение jetli13 Общие вопросы Javascript 9 11.01.2010 21:40
Регулярное выражение для поиска смайлов. NightmareZ Общие вопросы Javascript 13 23.06.2009 13:12
помогите составить регклярное выражение olgatcpip Общие вопросы Javascript 7 05.05.2009 14:20