js正则替换图片属性

JavaScript026

js正则替换图片属性,第1张

正则替换:.replace(/(src=[^u]*upload[^ >]*)([ >])/g,'$1 class=“aaa”$2')

比如你执行一下

function run(){alert("<img src=image/Jerryuploadhello/1.jpg>".replace(/(src=[^u]*upload[^ >]*)([ >])/g,'$1 class=“aaa”$2'))}

就知道了。

不过用正则替换的方法涉及改变innerHTML或outerHTML,最直接的方法可能是

arr=document.getElementsByTagName("img") for(i=0i<arr.lengthi++)if(/upload/.test(arr[i].src))arr[i].className=“aaa”

例:/upload/activity/xueba/20161025/091909_ce15d6bf-1089-4002-9ff6-016e13e420e5.gif

1,获取图片名称

正则表达式:[^\/\\]+$

匹配结果:091909_ce15d6bf-1089-4002-9ff6-016e13e420e5.gif

2,获取后缀

正则表达式:[^\.]\w*$

匹配结果:gif

var img = document.getElementsByTagName('img')[0]

// 注意,我使用了\w 来匹配图片名,表示匹配[A-Za-z0-9_]之内的字符都能被匹配到

// 另外最后我使用一个表达式来限定只匹配图片后缀

console.log(img.src.match(/\/(\w+\.(?:png|jpg|gif|bmp))$/i)[1])