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 相关文章推荐
用dtree实现树形菜单 dtree使用说明
Oct 17 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
May 30 Javascript
js文件缓存之版本管理详解
Jul 05 Javascript
jQuery实现瀑布流布局
Dec 12 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
Feb 25 Javascript
JavaScript实现时间倒计时跳转(推荐)
Jun 28 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
VueJS事件处理器v-on的使用方法
Sep 27 Javascript
vue项目中添加单元测试的方法
Jul 21 Javascript
新版小程序登录授权的方法
Dec 12 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 Javascript
Node.js中出现未捕获异常的处理方法
Jun 29 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 什么是PEAR?(第三篇)
2009/03/19 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python实现自动上京东抢手机
2018/02/06 Python
python对excel文档去重及求和的实例
2018/04/18 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
django query模块
2019/04/20 Python
python算法题 链表反转详解
2019/07/02 Python
德国苹果商店:MacTrade
2020/05/18 全球购物
清扬洗发水广告词
2014/03/14 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
合伙经营协议书范本
2014/09/13 职场文书
python基础之类方法和静态方法
2021/10/24 Python
Consul在linux环境的集群部署
2022/04/08 Servers
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android