一、通过循环检查,然后提取非空格字符串

  1. //去掉前后空白
  2. function trim(s){
  3. return trimRight(trimLeft(s));
  4. }
  5. //去掉左边的空白
  6. function trimLeft(s){
  7. if(s == null) {
  8. return "";
  9. }
  10. var whitespace = new String(" \t\n\r");
  11. var str = new String(s);
  12. if (whitespace.indexOf(str.charAt()) != -) {
  13. var j=, i = str.length;
  14. while (j < i && whitespace.indexOf(str.charAt(j)) != -){
  15. j++;
  16. }
  17. str = str.substring(j, i);
  18. }
  19. return str;
  20. }
  21.  
  22. //去掉右边的空白 www.jb51.net
  23. function trimRight(s){
  24. if(s == null) return "";
  25. var whitespace = new String(" \t\n\r");
  26. var str = new String(s);
  27. if (whitespace.indexOf(str.charAt(str.length-)) != -){
  28. var i = str.length - ;
  29. while (i >= && whitespace.indexOf(str.charAt(i)) != -){
  30. i--;
  31. }
  32. str = str.substring(, i+);
  33. }
  34. return str;
  35. }

二、通过正则替换

  1. //前后
  2. String.prototype.trim = function()
  3. {
  4. return this.replace(/(^\s*)|(\s*$)/g, "");
  5. }
  6. //左
  7. String.prototype.trimLeft = function()
  8. {
  9. return this.replace(/(^\s*)/g, "");
  10. }
  11. //右
  12. String.prototype.trimRight = function()
  13. {
  14. return this.replace(/(\s*$)/g, "");
  15. }

  1. //去左空格;
  2. function trimLeft(s){
  3. return s.replace(/(^\s*)/g, "");
  4. }
  5. //去右空格;
  6. function trimRight(s){
  7. return s.replace(/(\s*$)/g, "");
  8. }
  9. //去左右空格;
  10. function trim(s){
  11. return s.replace(/(^\s*)|(\s*$)/g, "");
  12. }

三、jQuery自带方法

  1. $.trim(str)

内部实现:

  1. function trim(str){
  2. return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
  3. }

四、裁剪

  1. function trim(str){
  2. str = str.replace(/^(\s|\u00A0)+/,'');
  3. for(var i=str.length-; i>=; i--){
  4. if(/\S/.test(str.charAt(i))){
  5. str = str.substring(, i+);
  6. break;
  7. }
  8. }
  9. return str;
  10. }

JavaScript清除字符串前后空格的更多相关文章

  1. javascript消除字符串两边空格的两种方式,面向对象和函数式编程。python oop在调用时候的优点

    主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.re ...

  2. JavaScript去除字符串两边空格trim

    去除字符串左右两端的空格,在大部分编程语言中,比如PHP.vbscript里面可以轻松地使用 trim.ltrim 或 rtrim实现.但在js中却没有这3个内置方法,需要手工编写.下面的实现方法是用 ...

  3. javascript去掉字符串前后空格

    使用场景 当我们进行一些页面编辑时,字符串前后的空格,通常是无效的.因此需要在获取信息时,进行过滤. 比如: 输入:[空格][空格]a[空格]b[空格][空格][空格] 得到:a[空格]b 代码如下: ...

  4. Javascript 去掉字符串前后空格的五种方法

    第一种:循环检查替换 [javascript] //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 functi ...

  5. python清除字符串中间空格的方法

    1.使用字符串函数replace >>> a = 'hello world' >>> a.replace(' ', '') 'helloworld' 看上这种方法真 ...

  6. JavaScript清除空格、换行,把双引号转换成单引号

    1.页面 2.源码 <!DOCTYPE> <html> <head> <meta charset="utf-8"> <titl ...

  7. javascript 过滤字符串中的中文与空格

    js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的码农可以参考一下. 1.javascript过滤空格: function m ...

  8. javascript去除字符串中的空格

    使用JavaScript去除字符串的空格,可以有两种方法,一种是使用replace()方法将空格(空白符)替换为空串,一种就是使用trim()方法去除字符串两端的空白字符. replace()方法 r ...

  9. (网页)JS去掉字符串前后空格或去掉所有空格的用法(转)

    转自脚本之家: 这篇文章主要介绍了JS去掉字符串前后空格或去掉所有空格的用法,需要的朋友可以参考下: 代码如下: function Trim(str) { return str.replace(/(^ ...

随机推荐

  1. bios设置启动方式问题

    uefi和legacy是两种不同的引导方式,uefi是新式的BIOS,legacy是传统BIOS.你在UEFI模式下安装的系统,只能用UEFI模式引导:同理,如果你是在Legacy模式下安装的系统,也 ...

  2. DiskLruCache详解 From GuoLin Blogs.

    作者:郭霖老师,<第一行代码>作者,开源框架LitePal作者 http://blog.csdn.net/guolin_blog/article/details/28863651 概述 记 ...

  3. Spark的Driver节点和Executor节点

    转载自:http://blog.sina.com.cn/s/blog_15fc03d810102wto0.html 1.驱动器节点(Driver) Spark的驱动器是执行开发程序中的 main方法的 ...

  4. appium ios 自动化测试

    iOS自动化测试:Appium 从入门到实践https://www.jianshu.com/p/43f858180557appium自动化测试iOS Demohttps://www.jianshu.c ...

  5. iOS学习之Objective-C 2.0 运行时系统编程

    0 导言 本主主要内容包括: 1.概述2.参考3.运行时系统的版本和平台4.和运行时系统的交互5.消息6.动态方法解析7.消息转发8.类型编码9.属性声明 1 概述 Objective-C语言将决定尽 ...

  6. Vim插件:Unite新手指导(译)

    Unite是什么? Unite可以在一个项目中快速浏览文件.但是它不仅限于文件,其他任何可以列出的东西都可以很好的被显示和搜索.这个开放式的特性很可能是人们找到它的原因(原文:This open-en ...

  7. 斩获新知——记一次reverse的实现过程

    最近学习C++,在实现reverse模板函数的时候,从一个小问题开始,在对这个问题的旁敲侧击当中带起了更多疑惑,顺藤摸瓜之后,尽管没有将诸多问题完美解答,但整个过程下来却也似有所获.最初的问题从使用C ...

  8. 错误:程序“XXX”不包含适合于入口点的静态“Main”方法

    解决办法: 1.右键类库属性 2.将输出类型改为“类库”

  9. 命令查看java的class字节码文件

    源代码: public class Math { public static void main(String[] args){ int a=1; int b=2; int c=(a+b)*10; } ...

  10. Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game

    地址:http://codeforces.com/contest/811/problem/D 题目: D. Vladik and Favorite Game time limit per test 2 ...