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 相关文章推荐
Visual Studio中的jQuery智能提示设置方法
Mar 27 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
Jan 30 Javascript
js给onclick赋值传参数的两种方法
Nov 25 Javascript
jquery对单选框,多选框,文本框等常见操作小结
Jan 08 Javascript
jQuery中$(function() {});问题详解
Aug 10 Javascript
对Js OOP编程 创建对象的一些全面理解
Jul 26 Javascript
使用Javascript监控前端相关数据的代码
Oct 27 Javascript
Servlet实现文件上传,可多文件上传示例
Dec 05 Javascript
react-native中ListView组件点击跳转的方法示例
Sep 30 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 jQuery
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 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学习 字符串课件
2008/06/15 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
JS求Number类型数组中最大元素方法
2018/04/08 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
python实现360的字符显示界面
2014/02/21 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
.NET概念性的面试题
2012/02/29 面试题
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
艺术应用与设计个人的自我评价
2013/11/23 职场文书
音乐节策划方案
2014/06/09 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
go语言-在mac下brew升级golang
2021/04/25 Golang
Python采集股票数据并制作可视化柱状图
2022/04/04 Python
Python中time标准库的使用教程
2022/04/13 Python