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 相关文章推荐
JavaScript中this关键字使用方法详解
Mar 08 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
最新28个很棒的jQuery 教程
May 28 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
Jun 27 Javascript
js统计页面的来访次数实现代码
May 09 Javascript
2014年50个程序员最适用的免费JQuery插件
Dec 15 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
Jun 23 Javascript
vue-router路由参数刷新消失的问题解决方法
Jun 17 Javascript
javascript Function函数理解与实战
Dec 01 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
Jan 17 Javascript
基于vue2.0动态组件及render详解
Mar 17 Javascript
微信小程序bindtap事件与冒泡阻止详解
Aug 08 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
PHP在Web开发领域的优势
2006/10/09 PHP
建立动态的WML站点(三)
2006/10/09 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
PHP进程同步代码实例
2015/02/12 PHP
帝国cms目录结构分享
2015/07/06 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
详解vue中组件参数
2018/07/09 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
python实现代码行数统计示例分享
2014/02/10 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python八皇后问题的解决方法
2018/09/27 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
工程技术员岗位职责
2014/03/02 职场文书
消防安全承诺书
2014/05/22 职场文书
生活小常识广播稿
2014/09/16 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书