时间:2014-01-29 来源:

js去除空格的12种实用方法

实现1
复制代码 代码如下:

String.prototype.trim = function() {
return this.replace(/^\s\s*/, '');
}

看起来不怎么样div前端切图, 动用了两次正则替换,div前端切图实际速度非常惊人web切图报价,主要得益于浏览器的内部优化.一个著名的例子字符串拼接,手机html制作直接相加比用Array做成的StringBuffer 还快.base2类库使用这种实现.

实现2
复制代码 代码如下:

String.prototype.trim = function() {
return this.replace(/^\s+/, '');
}

和实现1 很相似网页外包接活,但稍慢一点,jpg或psd转html主要原因是它最先是假设至少存在一个空白符.Prototype.js使用这种实现web前端制作,因为 Prototype的方法都是力求与Ruby同名.

实现3
复制代码 代码如下:

String.prototype.trim = function() {
return this.substring(Math.max(this.search(/\S/),this.search(/\S\s*$/) + 1);
}

以截取方式取得空白部分(当然允许中间存在空白符),总共 调用了四个原生方法.设计得非常巧妙,网站div+csssubstring以两个数字作为参数.Math.max以两个数字作参数符合w3c标准,search则返回一个数字.速度比上 面两个慢一点,符合w3c标准但比下面大多数都快.

实现4
复制代码 代码如下:

String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}

这个可以称得上实现2的简化版,网页外包接活就是 利用候选操作符连接两个正则.但这样做就失去了浏览器优化的机会web前端制作,比不上实现3.由于看来很优雅,div+css制作许多类库都使用它承接网页制作,如JQuery与mootools

实现5
复制代码 代码如下:

String.prototype.trim = function() {
var str = this;
str = str.match(/\S+(?:\s+\S+)*/);
return str ? str[0] : '';
}

match 是返回一个数组,承接网页制作因此原字符串符合要求的部分就成为它的元素.为了防止字符串中间的空白符被排除web切图报价,我们需要动用到非捕获性分组(?:exp).由于数组可 能为空,手机html制作我们在后面还要做进一步的判定.好像浏览器在处理分组上比较无力符合w3c标准,一个字慢.所以不要迷信正则,html切图制作虽然它基本上是万能的.

实现6
复制代码 代码如下:

String.prototype.trim = function() {
return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, '$1');
}

把符合要求的部分提供出来,网页外包接活放到一个空字符串中.不过效率很差web前端制作, '$1');
}

和实现6很相似承接网页制作,但用了非捕获分组进行了优点,div前端切图性能效之有一点点提升.

实现8
复制代码 代码如下:

String.prototype.trim = function() {
return this.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1');
}

沿着上面两个的思路进行改进,手机html制作动用了非捕获分组与字符集合符合w3c标准,效果非常惊人.尤其在IE6中网页外包接活,可 以用疯狂来形容这次性能的提升,jpg或psd转html直接秒杀火狐.

实现9
复制代码 代码如下:

String.prototype.trim = function() {
return this.replace(/^\s*([\S\s]*?)\s*$/, '$1');
}

这次是用懒惰匹配 顶替非捕获分组,web前端制作在火狐中得到改善承接网页制作,
whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
for (var i = 0, i + 1);
break;
}
}
return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

我 只想说符合w3c标准,搞出这个的人已经不是用牛来形容,符合w3c标准已是神一样的级别.它先是把可能的空白符全部列出来网页外包接活,在第一次遍历中砍掉前面的空白,网页外包接活第二次砍掉后面的空白.全 过程只用了indexOf与substring这个专门为处理字符串而生的原生方法web前端制作,没有使用到正则.速度快得惊人,div+css制作估计直逼上内部的二进制实现承接网页制作,
str = str.replace(/^\s+/, i + 1);
break;
}
}
return str;
}

实现10已经告诉我们普通的原生字符串截取方法是远胜于正则替换符合w3c标准,虽然是复杂一点.但只要正则 不过于复杂,html切图制作我们就可以利用浏览器对正则的优化网页外包接活,改善程序执行效率,网页外包接活如实现8在IE的表现.我想通常不会有人在项目中应用实现10,因为那个 whitespace 实现太长太难记了(当然如果你在打造一个类库,web前端制作它绝对是首先).实现11可谓其改进版承接网页制作,前面部分的空白由正则替换负责砍掉,div前端切图后面用原生方法处理web切图报价,效果不逊 于原版,手机html制作但速度都是非常逆天.

实现12
复制代码 代码如下:

String.prototype.trim = function() {
var str = this, ''),
i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}

实现10与实现11在写法上更好的改进版,web前端制作注意说的不是性能速 度承接网页制作,而是易记与使用上.和它的两个前辈都是零毫秒级别的,承接网页制作以后就用这个来工作与吓人. 点击次数:3175
作者:

其它web前端开发资讯

通达OAmysql在表的某一位置增加一列的命令写成程序判断的问题 【Web前端】2018年01月18日爆炸的效果(IOS) 【数据库】2018年01月18日tablesorter对于动态生成的table无法使用解决办法 【编程语言】2018年01月18日leetcode-230-KthSmallestElementinaBST 【编程语言】2018年01月18日具有相同模式的字符串,使用正则表达式组的提取和替换的案例【编程语言】2018年01月18日javaswing几种常用容器简单实现【编程语言】2018年01月18日2013款保时捷Boxster汽车壁纸2018年01月18日Silverlight5Grid组的MouseLeave响应 【移动开发】2018年01月18日视睿科技连获三项权威认证质量诚信受权威肯定2018年01月18日codeforces544D.DestroyingRoads【综合】2018年01月18日全球首款安全手机960e预约惊艳京东2018年01月18日Javascript的常用语句【Web前端】2018年01月18日Webpack性能优化(一)(使用别名做重定向) 【编程语言】2018年01月18日高效JavaWeb开发框架JessMAv3.5.1正式发布 【综合】2018年01月18日atitit.jquery tmpl模板总结 .doc【Web前端】2018年01月18日Memcached中对象反序列化和json字符串用jackson解析成对象的比较 【移动开发】2018年01月18日
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日javascript编程起步(第二课)2014年01月29日使用Air开发二维码扫描工具 【综合】2014年11月08日unity3D手游地图设计的四大类型哪种适合你? 【编程语言】2015年01月19日开启CURL扩展,让服务器支持PHPcurl函数(远程采集)2014年01月29日linux操作系统内核启动参数详细解析 【综合】2015年05月18日PHP设计模式之代理模式的深入解析2014年01月29日Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode【研发管理】2014年11月04日同一进程的线程共享的资源和独有的资源【编程语言】2015年03月30日Qt-被裁之说 ,,2016年06月23日Android模仿搜狐新闻的ViewpagerIndicator 【系统运维】2015年01月26日python实现的防DDoS脚本2014年01月29日WPS演示教程:制作生动课件2014年01月28日NOJ网络赛D题天神小学【研发管理】2015年04月01日Effectivejava经验之谈,通用方法 【编程语言】2015年04月17日JQuery的ajax基础上的超强GridView展示2014年01月29日URAL2025.LineFighting(math)【编程语言】2015年06月25日Xcode6下实现界面切换【架构设计】2015年03月12日内存分配策略与回收策略【编程语言】2015年06月30日hdu1430魔板【编程语言】2015年05月18日Qtwebkit初学例子(附代码) 【移动开发】2015年02月13日【Java】取当前.class文件的编译位置 【编程语言】2015年07月30日UVA10465HomerSimpson 【系统运维】2014年11月26日标记-清除(Mark-Sweep)算法 【编程语言】2015年07月08日Unity开发狗刨网学员作品《快打传奇》月用户量2万以上【数据库】2015年03月19日java设计模式--------行为模式之策略模式(1) 【编程语言】2014年12月16日Python之命令解析模块optparse 【Web前端】2015年04月01日AJAX实现web页面中级联菜单的设计2014年01月29日【SICP练习】117练习3.44 【编程语言】2015年03月27日【CodeVS】3303翻转区间 【移动开发】2015年07月09日【ShaderToy】开篇【编程语言】2015年03月09日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)