Работа со строками JQuery / Jscript различной длины - PullRequest
0 голосов
/ 22 июня 2011

Я написал очень простой скрипт jquery для получения атрибута src из моих элементов img. Короче говоря, на основе числа, содержащегося в атрибуте src моих миниатюр, код затем использует тот же номер идентификатора для извлечения соответствующего основного изображения:

образец значения для большого пальца: catalog / p1-t1.png | где p = кусок и 1 = id, t1 = большой палец 1 пример основного значения источника: catalog / p1-1.png | где р = кусок и 1 = идентификатор, 2-й 1 = основной рис для большого пальца 1

Все работало хорошо, пока однозначные числа не стали двузначными и, таким образом, использовались что-то вроде:

$string = $string.substring(12,13);

перестал работать (очевидно, да).

Я хочу получить из моего большого пальца ' catalog / p1-t1.png ' src значение '1' после 't', будь то t1 или t33 или t999.

Заранее спасибо G.Campos

Ответы [ 2 ]

4 голосов
/ 22 июня 2011

Появляется дикое регулярное выражение!

var string = 'catalog/p1-t666.png',
    re = /\/p(\d+)-t(\d+)/
    result = re.exec(string),
    piece = result[1], // 1
    thumb = result[2]; // 666

Ох, а позже, я думаю, появится немного менее дикий демо .

0 голосов
/ 22 июня 2011

Вы можете использовать минимальное регулярное выражение, если впервые разбили на период '.':

var x = 'p1-t123.jpg';
alert(x.split('.')[0].match(/\d+$/));

Предполагается, что путь к изображению имеет только один период. Если нет, вы, вероятно, можете обрезать завершающие элементы после последнего периода, а затем взять последние цифры:

alert( x.replace(/[^\d]+$/,'').match(/\d+$/));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...