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 相关文章推荐
Javascript 中的类和闭包
Jan 08 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
May 20 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
Nov 29 Javascript
详解JS中的attribute属性
Apr 25 Javascript
基于vue-resource jsonp跨域问题的解决方法
Feb 03 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
Jul 13 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
Jun 18 Javascript
JavaScript实现简单进度条效果
Mar 25 Javascript
JS 创建对象的模式实例小结
Apr 28 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 Javascript
JavaScript实现alert弹框效果
Nov 19 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
PHP如何编写易读的代码
2007/07/10 PHP
劣质的PHP代码简化
2010/02/08 PHP
php curl_init函数用法
2014/01/31 PHP
php实现水仙花数示例分享
2014/04/03 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
Python内置函数的用法实例教程
2014/09/08 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
python实现flappy bird小游戏
2018/12/24 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
django中related_name的用法说明
2020/05/20 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
小学敬老月活动方案
2014/02/11 职场文书
租房协议书
2014/09/12 职场文书
优秀班主任材料
2014/12/16 职场文书
事业单位年度考核评语
2014/12/31 职场文书
大学生实习证明
2015/06/16 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
详解python的内存分配机制
2021/05/10 Python
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸