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新的绑定事件机制on方法的使用方法
Apr 15 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
Sep 08 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
探索webpack模块及webpack3新特性
Sep 18 Javascript
JS实现为动态创建的元素添加事件操作示例
Mar 17 Javascript
微信小程序如何获取用户头像和昵称
Sep 23 Javascript
javascript实现贪吃蛇经典游戏
Apr 10 Javascript
原生JavaScript实现弹幕组件的示例代码
Oct 12 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发电子邮件
2006/10/09 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
小程序实现多选框功能
2018/10/30 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
Django 用户认证组件使用详解
2019/07/23 Python
django foreignkey(外键)的实现
2019/07/29 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
tensorflow求导和梯度计算实例
2020/01/23 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
Melissa香港官网:MDreams
2016/07/01 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
中药学自荐信
2014/06/15 职场文书
文明城市标语
2014/06/16 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
优秀志愿者感言
2015/08/01 职场文书
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers