JavaScript去除空格的三种方法(正则/传参函数/trim)


Posted in Javascript onFebruary 06, 2013

方法一:
个人认为最好的方法.采用的是正则表达式,这是最核心的原理.
其次.这个方法使用了JavaScript 的prototype 属性
其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较方便.
下面就来看看这个属性是怎么来用的.

返回对象类型原型的引用。
objectName.prototype
objectName 参数是对象的名称。
说明
用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。

例如,要为 Array 对象添加返回数组中最大元素值的方法。要完成这一点,声明该函数,将它加入 Array.prototype,并使用它。

function array_max( ){ 
var i, max = this[0]; 
for (i = 1; i < this.length; i++) 
{ 
if (max < this[i]) 
max = this[i]; 
} 
return max; 
} 
Array.prototype.max = array_max; 
var x = new Array(1, 2, 3, 4, 5, 6); 
var y = x.max( );

该代码执行后,y 保存数组 x 中的最大值,或说 6。
所有 JScript 内部对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。

本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分,哪些不是。
下面是代码原文
程序代码

<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
//出处:网上搜集 
//made by yaosansi 2005-12-02 
//For more visit http://www.yaosansi.com 
// Trim() , Ltrim() , RTrim() 
String.prototype.Trim = function() 
{ 
return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 
String.prototype.LTrim = function() 
{ 
return this.replace(/(^\s*)/g, ""); 
} 
String.prototype.RTrim = function() 
{ 
return this.replace(/(\s*$)/g, ""); 
} 
//--> 
</SCRIPT>

下面来我们来看看Js脚本中"/s表示什么"
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
请紧记是小写的s
方法二:
由于使用方法简单,所以这里就不举例子了.
//javascript去空格函数 
function LTrim(str){ //去掉字符串 的头空格 
var i; 
for(i=0;i if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break; 
} 
str = str.substring(i,str.length); 
return str; 
} 
function RTrim(str){ 
var i; 
for(i=str.length-1;i>=0;i--){ 
if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break; 
} 
str = str.substring(0,i+1); 
return str; 
} 
function Trim(str){ 
return LTrim(RTrim(str)); 
}

方法三:
这个方法将函数写在一起,通过传递参数不同而达到不同的实现效果
<HTML> 
<HEAD> 
<TITLE>JavaScript Trim Function</TITLE> 
<SCRIPT LANGUAGE=javascript> 
<!-- 
//**************************************************************** 
// Description: sInputString 为输入字符串,iType为类型,分别为 
// 0 - 去除前后空格; 1 - 去前导空格; 2 - 去尾部空格 
//**************************************************************** 
function cTrim(sInputString,iType) 
{ 
var sTmpStr = ' ' 
var i = -1 if(iType == 0 || iType == 1) 
{ 
while(sTmpStr == ' ') 
{ 
++i 
sTmpStr = sInputString.substr(i,1) 
} 
sInputString = sInputString.substring(i) 
} 
if(iType == 0 || iType == 2) 
{ 
sTmpStr = ' ' 
i = sInputString.length 
while(sTmpStr == ' ') 
{ 
--i 
sTmpStr = sInputString.substr(i,1) 
} 
sInputString = sInputString.substring(0,i+1) 
} 
return sInputString 
} 
//--> 
</SCRIPT> 
</HEAD> 
<BODY> 
JavaScript中的字符串去除空格函数(自定义):<br> 
<SCRIPT LANGUAGE=javascript> 
<!-- 
var sR0 = cTrim(" T e s t ",0) 
var sR1 = cTrim(" T e s t ",1) 
var sR2 = cTrim(" T e s t ",2) 
document.write("R0 = '" + sR0 + "'<br>") 
document.write("R1 = '" + sR1 + "'<br>") 
document.write("R2 = '" + sR2 + "'<br>") 
//--> 
</SCRIPT> 
</BODY> 
</HTML>
Javascript 相关文章推荐
jquery获取input表单值的代码
Apr 19 Javascript
JavaScript中的闭包介绍
Mar 15 Javascript
javascript动态创建表格及添加数据实例详解
May 13 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
jQuery实现类似老虎机滚动抽奖效果
Aug 06 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
jQuery属性选择器用法示例
Sep 09 Javascript
vue-better-scroll 的使用实例代码详解
Dec 03 Javascript
vue实现自定义多选按钮
Jul 16 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 Vue.js
js中top/parent/frame概述及案例应用
Feb 06 #Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
Feb 06 #Javascript
jquery load事件(callback/data)使用方法及注意事项
Feb 06 #Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
Feb 06 #Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
Sep 12 #Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
Feb 05 #Javascript
JQuery入门——用映射方式绑定不同事件应用示例
Feb 05 #Javascript
You might like
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
JavaScript 创建对象
2009/07/17 Javascript
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
js读取本地文件的实例
2017/12/22 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python 读取某个目录下所有的文件实例
2018/06/23 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
用pycharm开发django项目示例代码
2019/06/13 Python
python多线程http压力测试脚本
2019/06/25 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
Python爬取梨视频的示例
2021/01/29 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
英语专业应届生求职信范文
2013/11/15 职场文书
业务员简历自我评价
2014/03/06 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书