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 相关文章推荐
一段实时更新的时间代码
Jul 07 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
Aug 03 Javascript
jQuery中scrollLeft()方法用法实例
Jan 16 Javascript
浅谈javascript实现八大排序
Apr 27 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
Jan 18 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
May 23 Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 Javascript
通过webpack引入第三方库的方法
Jul 20 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
Feb 02 Javascript
js单线程的本质 Event Loop解析
Oct 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比较多维数组中值的大小排序实现代码
2012/09/08 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
PHP生成plist数据的方法
2015/06/16 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
删除节点的jquery代码
2014/01/13 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
JS限制输入框输入的实现代码
2018/07/02 Javascript
解决vue 子组件修改父组件传来的props值报错问题
2019/11/09 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
简单实现python爬虫功能
2015/12/31 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
大学生毕业鉴定
2014/01/31 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
社区助残日活动总结
2014/08/29 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
2015年消防工作总结
2015/04/24 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS