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 相关文章推荐
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
jQuery移动和复制dom节点实用DOM操作案例
Dec 17 Javascript
引用外部js乱码问题分析及解决方案
Apr 12 Javascript
addEventListener 的用法示例介绍
May 07 Javascript
jQuery获取URL请求参数的方法
Jul 18 Javascript
利用Angular.js编写公共提示模块的方法教程
May 28 Javascript
React中上传图片到七牛的示例代码
Oct 10 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 Javascript
浅谈Vue数据响应
Nov 05 Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 Javascript
vue实现双向绑定和依赖收集遇到的坑
Nov 29 Javascript
vue3中轻松实现switch功能组件的全过程
Jan 07 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的特殊设置
2006/10/09 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
10条php编程小技巧
2015/07/07 PHP
PHP数组操作类实例
2015/07/11 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
Exjs 入门篇
2010/04/07 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
2014年党员承诺书范文
2014/05/20 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
公司出纳岗位职责
2015/03/31 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
Android中View.post和Handler.post的关系
2022/06/05 Java/Android