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 相关文章推荐
js 实现 input type=&quot;file&quot; 文件上传示例代码
Aug 07 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
jQuery中slice()方法用法实例
Jan 07 Javascript
javascript获取四位数字或者字母的随机数
Jan 09 Javascript
JavaScript获取网页中第一个图片id的方法
Apr 03 Javascript
jQuery实现的文字hover颜色渐变效果实例
Feb 20 Javascript
BootStrap selectpicker
Jun 20 Javascript
AngularJS ionic手势事件的使用总结
Aug 09 Javascript
JS中Attr的用法详解
Oct 09 Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 Javascript
js瀑布流布局的实现
Jun 28 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
Oct 22 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网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
再论Javascript的类继承
2011/03/05 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
JS中常用的消息框总结
2018/02/24 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
python如何读写csv数据
2018/03/21 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
python正则表达式之对号入座篇
2018/07/24 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
2020/11/17 Python
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
一道Delphi上机题
2012/06/04 面试题
环境工程大学生自荐信
2013/10/21 职场文书
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
运动会解说词100字
2014/01/31 职场文书
个人培训自我鉴定
2014/03/28 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python