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或asp实现的判断身份证号码是否正确两种验证方法
Nov 26 Javascript
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
ExtJS的拖拽效果示例
Dec 09 Javascript
JS倒计时代码汇总
Nov 25 Javascript
JavaScript获取Url里的参数
Dec 18 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
May 14 Javascript
Node.js 使用流实现读写同步边读边写功能
Sep 11 Javascript
React学习之事件绑定的几种方法对比
Sep 24 Javascript
微信小程序wx.request实现后台数据交互功能分析
Nov 25 Javascript
微信小程序实现自动定位功能
Oct 31 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
uniapp微信小程序:key失效的解决方法
Jan 20 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+redis消息队列实现抢购功能
2018/02/08 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
Js 本页面传值实现代码
2009/05/17 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
2017/03/07 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
详解JavaScript 异步编程
2020/07/13 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
Python实现简单状态框架的方法
2015/03/19 Python
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
python yield关键词案例测试
2019/10/15 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
个人求职简历的自我评价
2013/10/19 职场文书
中医专业应届生求职信
2013/11/17 职场文书
优秀幼教自荐信
2014/02/03 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书