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+css 网页每次加载不同样式的实现方法
Dec 27 Javascript
javascript中拼接HTML字符串的最快、最好的方法
Jun 07 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
Dec 15 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
Oct 04 Javascript
js实现选中页面文字将其分享到新浪微博
Nov 05 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
Jun 08 Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 Javascript
JS实现瀑布流布局
Oct 21 Javascript
js html实现计算器功能
Nov 13 Javascript
JavaScript 继承 封装 多态实现及原理详解
Jul 29 Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 Javascript
原生js实现简单轮播图
Oct 26 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开发框架总结收藏
2008/04/24 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
PHP中比较时间大小实例
2014/08/21 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
详解PHP数组赋值方法
2015/11/07 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
js实现tab切换效果
2017/02/16 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
Python实现比较两个列表(list)范围
2015/06/12 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
自荐信不宜过于夸大
2013/11/06 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS