代码为:
复制代码 代码如下:
//程序目的,去掉图片路径中的域名
var str = '<img src="https://www./images/logo.gif">';
var reg1 = /(\<img)(.*(?=(http|https)\:\/\/))((http|https)\:\/\/[^\/]*)/gim;
str.match(reg1);
alert(str.replace(RegExp.$4,'');
这个用法在字符串中只有一个URL时,是适用的,但是如果字符串中包含多个域名,例如:
复制代码 代码如下:
var str = '<img src="https://www./images/logo.gif">首页的<a href="https://www.">链接</a>';
程序运行后去掉的内容就是第二个域名即https://www.。这是为什么呢?
仔细查看正则表达式会发现,在使用"(\<img) "匹配了<img之后,使用“.*”匹配所有字符直到“http://”或者“https://”。请注意,正是“.*”导致了这个问题的出现,这里的“.*”就是说,一直查找和匹配,尽可能的多匹配,直到最后一个限定符,也就是说术语中的贪婪(greedy)匹配。很自然,就想到了使用非贪婪的匹配解决这个问题。把正在表达式改为:
复制代码 代码如下:
//与贪婪匹配的差别就是多了一个问号“?”,贪婪".*",非贪婪".*?"
var reg1 = /(\<img)(.*?(?=(http|https)\:\/\/))((http|https)\:\/\/[^\/]*)/gim;
解决问题的方法很简单,但是也说明平时工作存在的一个重要问题:程序测试不充分。
相关推荐:
Win2003 系统服务器防火墙
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
ppt制作免费网站有哪些,ppt模板免费下载网站?
,购物网站怎么盈利呢?
Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法
协会网站制作流程,湖南省管乐协会网站地址?
access数据库用sql语句添加字段,修改字段,删除字段
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
流程图制作网站免费,谁能推荐几个好的CG原画资源网站么?
火车采集器 免费版使出收费版本功能实现原理
航天信息网站制作流程,开票系统没有网络可以用吗?
网站制作公司,橙子建站是合法的吗?
ExtJS 配置和表格控件使用第1/2页
Mootools 1.2教程 同时进行多个形变动画
Ajax Control Toolkit 34个服务器端控件第1/2页
SQL 判断字段类型语句
jquery select选中的一个小问题
php面向对象全攻略 (十五) 多态的应用
如何制作网站标识牌,动态网站如何制作(教程)?
js replace正则相关的诡异问题
在IE下获取object(ActiveX)的Param的代码
jquery 最简单的属性菜单
基于innerHTML中的script广告实现代码[广告全部放在一个js里面] <font color=red>原创</font>
全世界最小的php网页木马一枚 附PHP木马的防范方法
没有form表单情况下敲回车键提交表单的js代码
jQuery 使用手册(一)
Mootools 1.2教程 定时器和哈希简介
贸易公司网站制作流程,出口贸易网站设计怎么做?
制作视频的网站有哪些,怎么做一个收费视频网站?
sqlserver 字符串分拆 语句
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
javascript Range对象跨浏览器常用操作第1/2页
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
MSSQL 生成日期列表代码
通过HSODBC访问mysql的实现步骤
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
编写的vs2005水晶报表程序在vs2008下正常使用的一些实现方法
佛山企业网站制作公司有哪些,沟通100网上服务官网?
,石家庄四十八中学官网?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
厦门网站制作公司有哪些,厦门地区有本地团购网站么,哪个比较好?
Javascript isArray 数组类型检测函数
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
Oracle 创建监控账户 提高工作效率
MySQL下将一个表的数据插入到另外一个表的实现语句
手机网站制作与建设方案,手机网站如何建设?
晋城网站制作公司,晋城兰花集团官网?
制作网站外包平台,自动化接单网站有哪些?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
wix网站制作怎么样,如何自己做一个网站?