JQuery / Jscript字符串操作具有不同的长度

时间:2011-06-22 03:55:42

标签: javascript jquery regex string

我写了一个非常基本的jquery脚本来从我的img元素中获取src属性。简而言之,基于我的缩略图的src属性中包含的数字,代码然后使用相同的ID号来获取相应的主图像:

示例thumb src值: catalog / p1-t1.png |其中p = 1和1 = id,t1 =拇指1 示例mainpic src值: catalog / p1-1.png |其中p = piece,1 = id,2nd 1 =拇指1的主要图片

这一切都很顺利,直到单位数字变为两位数,因此使用类似的东西:

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

停止工作(显而易见)。

我想从我的拇指的' catalog / p1-t1.png 'src值中得到't'之后的'1',无论是t1还是t33还是t999。

提前致谢 G.Campos

2 个答案:

答案 0 :(得分:4)

出现一个狂野的正则表达式!

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

哦,之后会出现稍微不那么狂野的demo,我猜。

答案 1 :(得分:0)

如果您首先拆分期间'。':

,则可以使用最小正则表达式
var x = 'p1-t123.jpg';
alert(x.split('.')[0].match(/\d+$/));

假设图像路径只有一个周期。如果没有,你可能会在最后一段时间后修剪尾随的东西,然后抓住尾随的数字:

alert( x.replace(/[^\d]+$/,'').match(/\d+$/));