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 相关文章推荐
使用firebug进行调试javascript的示例
Dec 16 Javascript
js的正则test,match,exec详细解析
Jan 29 Javascript
javascript获取wx.config内部字段解决微信分享
Mar 09 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
Nov 18 Javascript
JS实现前端缓存的方法
Sep 21 Javascript
JS实现基于拖拽改变物体大小的方法
Jan 23 Javascript
vue检测对象和数组的变化分析
Jun 30 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 Javascript
实用的Vue开发技巧
May 30 Javascript
vue 解决数组赋值无法渲染在页面的问题
Oct 28 Javascript
使用Typescript开发微信小程序的步骤详解
Jan 12 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中批量修改文件后缀名的函数代码
2011/10/23 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
用JavaScript和注册表脚本实现右键收藏Web页选中文本
2007/01/28 Javascript
JavaScript 继承详解(四)
2009/07/13 Javascript
javascript 拖动表格行实现代码
2011/05/05 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
js Math 对象的方法
2013/09/01 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
《一株紫丁香》教学反思
2014/02/19 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
上课迟到检讨书
2015/05/06 职场文书
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android