正则替换:.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.gif1,获取图片名称
正则表达式:[^\/\\]+$
匹配结果: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])