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 建设银行登陆键盘
Jun 10 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
Dec 10 Javascript
jQuery 判断是否包含在数组中Array[]的方法
Aug 03 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
Oct 15 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
Dec 18 Javascript
详解JS中的立即执行函数
Feb 24 Javascript
利用js的闭包原理做对象封装及调用方法
Apr 07 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
Apr 28 Javascript
浅谈JS的原型和继承
May 08 Javascript
小程序实现按下录音松开识别语音
Nov 22 Javascript
javascript canvas API内容整理
Feb 16 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/01/18 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
jQuery实现简单的tab标签页效果
2016/09/12 Javascript
VSCode配置react开发环境的步骤
2017/12/27 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
python实现微信小程序自动回复
2018/09/10 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
python 实现两个npy档案合并
2020/07/01 Python
python 元组和列表的区别
2020/12/30 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
公司前台辞职报告
2014/01/19 职场文书
会计专业导师推荐信
2014/03/08 职场文书
语文课外活动总结
2014/08/27 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
六年级学生评语大全
2014/12/26 职场文书
交通事故责任认定书
2015/08/06 职场文书
django上传文件的三种方式
2021/04/29 Python