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 相关文章推荐
JS TextArea字符串长度限制代码集合
Oct 31 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
Dec 16 Javascript
JS中Date日期函数中的参数使用介绍
Jan 02 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 Javascript
jQuery链使用指南
Jan 20 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
使用JavaScript实现一个小程序之99乘法表
Sep 21 Javascript
angular 组件通信的几种实现方式
Jul 13 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
Feb 24 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
Feb 28 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
Jun 01 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 Javascript
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 空格,换行,跳格使用说明
2009/12/18 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
javascript中的new使用
2010/03/20 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Python读取yaml文件的详细教程
2020/07/21 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
东方通信股份有限公司VC面试题
2014/08/27 面试题
strstr()的简单实现
2013/09/26 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
最美乡村医生事迹材料
2014/06/02 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
表扬稿范文
2015/01/17 职场文书
初三英语教学计划
2015/01/23 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
网吧管理制度范本
2015/08/05 职场文书
2016年小学生新年寄语
2015/08/18 职场文书
小数乘法教学反思
2016/02/22 职场文书
导游词之日月潭
2019/11/05 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript