javascript 去字符串空格终极版(支持utf8)


Posted in Javascript onNovember 14, 2009

其实这个问题是:如果你的js本身是unicode编码,那么用正则表达式\s就可以去掉所有空白,但是如果你js是utf-8编码,那么正则就不能处理编码为160的空格了。

下面我先是正则表达式去掉编码为32的空格,再用递归的方法去掉字符串两边的unicode空格。

/** 去字符两端空格 开始 
*@author 敖士伟 
*@version v1.0 
*@date 2009/11/14 22:51 
*/ 
String.prototype.trim = function() { 
var r = this.replace(/(^\s*)|(\s*$)/g, ""); 
r = Lremoveblank(r); 
r = Rremoveblank(r); 
return r; 
} function Lremoveblank(s) { 
if (s.length == 1 && s.charCodeAt(0) == 160) 
return ""; 
if (s.charCodeAt(0) == 160) { 
s = s.substr(1, s.length - 1); 
return removeblank(s); 
} 
else { 
return s; 
} 
} 
function Rremoveblank(s) { 
if (s.length == 1 && s.charCodeAt(0) == 160) 
return ""; 
if (s.charCodeAt(s.length-1) == 160) { 
s = s.substr(0, s.length - 1); 
return Rremoveblank(s); 
} 
else { 
return s; 
} 
} 
//--去字符两端空格 结束 
//e.g. 
var a = "  a  "; 
alert("b" + a.trim() + "b");
Javascript 相关文章推荐
用脚本调用样式的几种方法
Dec 09 Javascript
如何防止回车(enter)键提交表单
May 11 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
Jun 06 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 Javascript
JavaScript数据结构之链表的实现
Mar 19 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
微信小程序访问node.js接口服务器搭建教程
Apr 25 Javascript
vue项目如何刷新当前页面的方法
May 18 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
Element Notification通知的实现示例
Jul 27 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
Nov 17 Vue.js
jQuery checkbox全选/取消全选实现代码
Nov 14 #Javascript
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
Nov 14 #Javascript
jquery 可排列的表实现代码
Nov 13 #Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
Nov 13 #Javascript
传智播客学习之JavaScript基础篇
Nov 13 #Javascript
用document.documentElement取代document.body的原因分析
Nov 12 #Javascript
JQuery SELECT单选模拟jQuery.select.js
Nov 12 #Javascript
You might like
PHP mcrypt可逆加密算法分析
2011/07/19 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python中format()格式输出全解
2019/04/12 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
模具毕业生推荐信
2014/02/15 职场文书
高中军训第一天感言
2014/03/06 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
营业员岗位职责
2015/02/11 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
8个JS的reduce使用实例和reduce操作方式
2021/10/05 Javascript
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技