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 相关文章推荐
正则表达式语法
Oct 09 Javascript
各种常用的JS函数整理
Oct 25 Javascript
Jquery实现图片预加载与延时加载的方法
Dec 22 Javascript
不同编码的页面表单数据乱码问题解决方法
Feb 15 Javascript
JavaScript中的原型prototype完全解析
May 10 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
Nov 28 Javascript
webpack+react+antd脚手架优化的方法
Apr 02 Javascript
利用Decorator如何控制Koa路由详解
Jun 26 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
js canvas实现俄罗斯方块
Oct 11 Javascript
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
提取HTML标签
2006/10/09 PHP
PHP insert语法详解
2008/06/07 PHP
php文件操作相关类实例
2015/06/18 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
Javascript实现时间倒计时效果
2017/07/15 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
python 排列组合之itertools
2013/03/20 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
django在开发中取消外键约束的实现
2020/05/20 Python
python 元组和列表的区别
2020/12/30 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
大学生咖啡店创业计划书
2014/01/21 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
对祖国的寄语大全
2014/04/11 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
面试自我评价范文
2014/09/17 职场文书
付款委托书范本
2014/10/05 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书