js去字符串前后空格5种实现方法及比较


Posted in Javascript onApril 03, 2013

我们在项目中如果写到注册的时候,用户输入空格,我们怎么来剔除空格呢?
下面是我经常用到的js与大家分享下:

第一种:循环检查替换
[javascript]

//供使用者调用 
function trim(s){ 
return trimRight(trimLeft(s)); 
} 
//去掉左边的空白 
function trimLeft(s){ 
if(s == null) { 
return ""; 
} 
var whitespace = new String(" \t\n\r"); 
var str = new String(s); 
if (whitespace.indexOf(str.charAt(0)) != -1) { 
var j=0, i = str.length; 
while (j < i && whitespace.indexOf(str.charAt(j)) != -1){ 
j++; 
} 
str = str.substring(j, i); 
} 
return str; 
} 
//去掉右边的空白 3water.com 
function trimRight(s){ 
if(s == null) return ""; 
var whitespace = new String(" \t\n\r"); 
var str = new String(s); 
if (whitespace.indexOf(str.charAt(str.length-1)) != -1){ 
var i = str.length - 1; 
while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){ 
i--; 
} 
str = str.substring(0, i+1); 
} 
return str; 
}

第二种:正则替换
[javascript]
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
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>

第三种:使用jquery
[javascript]
$.trim(str)

jquery内部实现为:
[javascript]
function trim(str){ 
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,''); 
}

第四种:使用motools
[javascript]
function trim(str){ 
return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, ''); 
}

第五种:裁剪字符串方式
[javascript]
function trim(str){ 
str = str.replace(/^(\s|\u00A0)+/,''); 
for(var i=str.length-1; i>=0; i--){ 
if(/\S/.test(str.charAt(i))){ 
str = str.substring(0, i+1); 
break; 
} 
} 
return str; 
}

经过测试第五种方法在处理长字符串时效率最高
<script type="text/JavaScript"> 
//去掉空格 
function SystemTrim(str) { 
var regExp = /(^\s*)|(\s*$)/; 
return str.replace(regExp,""); 
} 
//调用 
function add() 
{ 
var ownername=document.form1.ownername.value; 
if(SystemTrim(ownername)=="") 
{ 
alert("请输入您的称呼!"); 
return; 
} 
} 
<script>
Javascript 相关文章推荐
js 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
JavaScript var声明变量背后的原理示例解析
Oct 12 Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 Javascript
js改变文章字体大小的实例代码
Nov 27 Javascript
jQuery .tmpl() 用法示例介绍
Aug 21 Javascript
Javascript常用小技巧汇总
Jun 24 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
Oct 09 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
Vue传参一箩筐(页面、组件)
Apr 04 Javascript
VUE渲染后端返回含有script标签的html字符串示例
Oct 28 Javascript
JavaScript代码实现简单计算器
Dec 27 Javascript
终于解决了IE8不支持数组的indexOf方法
Apr 03 #Javascript
jQuery布局插件UI Layout简介及使用方法
Apr 03 #Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
Apr 02 #Javascript
JS获取浏览器版本及名称实现函数
Apr 02 #Javascript
js 火狐下取本地路径实现思路
Apr 02 #Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
Apr 02 #Javascript
JQuery给元素添加/删除节点比如select
Apr 02 #Javascript
You might like
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
python使用Berkeley DB数据库实例
2014/09/26 Python
Python中自定义函数的教程
2015/04/27 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
.net笔试题
2014/03/03 面试题
劳动竞赛活动方案
2014/02/20 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
JS ES6异步解决方案
2021/04/29 Javascript