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 相关文章推荐
一页面多XMLHttpRequest对象
Jan 22 Javascript
拖拉表格的JS函数
Nov 20 Javascript
javascript 控制input只允许输入的各种指定内容
Jun 19 Javascript
JS创建对象几种不同方法详解
Mar 01 Javascript
分享12个实用的jQuery代码片段
Mar 09 Javascript
javascript实现一个网页加载进度loading
Jan 04 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
微信小程序中悬浮窗功能的实现代码
Aug 02 Javascript
element-ui 文件上传修改文件名的方法示例
Nov 05 Javascript
Axios代理配置及封装响应拦截处理方式
Apr 07 Vue.js
终于解决了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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
PHP 错误处理机制
2015/07/06 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
Vuex之理解Store的用法
2017/04/19 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
Python的迭代器和生成器
2015/07/29 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
详解python tcp编程
2020/08/24 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
请假条范文大全
2014/04/10 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
社区清明节活动总结
2014/07/04 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
ipad隐藏软件app图标方法
2022/04/19 数码科技