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 相关文章推荐
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
javascript+css 网页每次加载不同样式的实现方法
Dec 27 Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
JavaScript门面模式详解
Oct 19 Javascript
原生JS实现Ajax跨域请求flask响应内容
Oct 24 Javascript
在Swiper内如何制作CSS3动画效果示例代码
Dec 07 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
Nov 07 Javascript
详解 javascript对象创建模式
Oct 30 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 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程序中的常见漏洞进行攻击
2006/10/09 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
详解C++编程中一元运算符的重载
2016/01/19 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python requests post多层字典的方法
2018/12/27 Python
浅谈pyqt5中信号与槽的认识
2019/02/17 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
推荐信怎么写
2014/05/09 职场文书
股权转让协议书
2014/12/07 职场文书
2015大学迎新标语
2015/07/16 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python