Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有不同长度的JQuery/Jscript字符串操作_Javascript_Jquery_Regex_String - Fatal编程技术网

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

Javascript 具有不同长度的JQuery/Jscript字符串操作,javascript,jquery,regex,string,Javascript,Jquery,Regex,String,我编写了一个非常基本的jquery脚本,从img元素中获取src属性。长话短说,基于我的缩略图的src属性中包含的编号,代码然后使用相同的id编号获取相应的主图像: 样本拇指src值:目录/p1-t1.png|其中p=piece,1=id,t1=thumb 1 示例mainpic src值:目录/p1-1.png|其中p=工件,1=id,第2个1=拇指1的主图片 在一位数变成两位数之前,一切都很顺利,因此,使用了如下方法: $string = $string.substring(12,13);

我编写了一个非常基本的jquery脚本,从img元素中获取src属性。长话短说,基于我的缩略图的src属性中包含的编号,代码然后使用相同的id编号获取相应的主图像:

样本拇指src值:目录/p1-t1.png|其中p=piece,1=id,t1=thumb 1 示例mainpic src值:目录/p1-1.png|其中p=工件,1=id,第2个1=拇指1的主图片

在一位数变成两位数之前,一切都很顺利,因此,使用了如下方法:

$string = $string.substring(12,13);
停止工作(显然是)

我想从我的拇指的'目录/p1-t1.png'src值中获取't'后面的'1',无论是t1还是t33还是t999

提前谢谢
G.Campos

一个野生正则表达式出现

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

哦,我猜,后来出现了一个稍微不那么狂野的正则表达式。

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

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

哦,我想,后来会出现一个稍微不那么狂野的表达式。

如果您首先在句点上拆分,则可以使用最小正则表达式。“:

var x = 'p1-t123.jpg';
alert(x.split('.')[0].match(/\d+$/));
假设图像路径只有一个周期。如果没有,您可能会在最后一个句点之后修剪尾随内容,然后抓住尾随数字:

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

如果首先在句点“”上拆分,则可以使用最小正则表达式:

var x = 'p1-t123.jpg';
alert(x.split('.')[0].match(/\d+$/));
假设图像路径只有一个周期。如果没有,您可能会在最后一个句点之后修剪尾随内容,然后抓住尾随数字:

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

谢谢你。这很直截了当,谢谢你。这很直截了当