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 相关文章推荐
[对联广告] JS脚本类
Aug 27 Javascript
JavaScript 中的事件教程
Apr 05 Javascript
JSON语法五大要素图文介绍
Dec 04 Javascript
JavaScript 实现类的多种方法实例
May 01 Javascript
node.js中的Socket.IO使用实例
Nov 04 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
微信小程序 ecshop地址三级联动实现实例代码
Feb 28 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
判断div滑动到底部的scroll实例代码
Nov 15 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
Mar 28 Javascript
vue项目中极验验证的使用代码示例
Dec 03 Javascript
解决vue的touchStart事件及click事件冲突问题
Jul 21 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 之Section与Cookie使用总结
2012/09/14 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
php生成zip文件类实例
2015/04/07 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
基于jQuery实现在线选座之高铁版
2015/08/24 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
Vue前端项目部署IIS的实现
2020/01/06 Javascript
pip install urllib2不能安装的解决方法
2018/06/12 Python
老生常谈python中的重载
2018/11/11 Python
Python中的类与类型示例详解
2019/07/10 Python
python的re模块使用方法详解
2019/07/26 Python
python程序文件扩展名知识点详解
2020/02/27 Python
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
十月份红领巾广播稿
2014/01/22 职场文书
财政专业求职信范文
2014/02/19 职场文书
优秀团队获奖感言
2014/02/19 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
校本教研活动总结
2014/07/01 职场文书
工伤事故赔偿协议书
2014/10/27 职场文书
创业计划书之花店
2019/09/20 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS
Java Redisson多策略注解限流
2022/09/23 Java/Android