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 相关文章推荐
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
判断文件是否正在被使用的JS代码
Dec 21 Javascript
js中小数转换整数的方法
Jan 26 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
Vue 组件间的样式冲突污染
Aug 31 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
Oct 26 Javascript
vue中子组件的methods中获取到props中的值方法
Aug 27 Javascript
vue组件中的样式属性scoped实例详解
Oct 30 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
May 26 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
Oct 31 Javascript
webpack中的模式(mode)使用详解
Feb 20 Javascript
JavaScript实现多个物体同时运动
Mar 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
全国FM电台频率大全 - 6 辽宁省
2020/03/11 无线电
浅谈PHP语法(1)
2006/10/09 PHP
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
Parse正式发布开源PHP SDK
2014/08/11 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
jquery文字上下滚动的实现方法
2013/03/22 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
vue vue-Router默认hash模式修改为history需要做的修改详解
2018/09/13 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
公司年会主持词
2014/03/22 职场文书
《四季》教学反思
2014/04/08 职场文书
一年级评语大全
2014/04/23 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
学校社团活动总结
2015/05/07 职场文书
发票退票证明
2015/06/24 职场文书
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang