JS技术

javascritp 去除字符前后空格

字号+ 作者: 来源: 2014-11-16 22:20 我要评论( )

功能: 1)去除字符串前后所有空格 2)去除字符串中所有空格(包括中间空格,需要设置第2个参数为:g)

功能: 1)去除字符串前后所有空格
2)去除字符串中所有空格(包括中间空格,需要设置第2个参数为:g)

1
2
3
4
5
6
7
8
function Trim(str,is_global)
{
 var result; 
 result = str.replace(/(^\s+)|(\s+$)/g,"");
 if(is_global.toLowerCase()=="g")
    result = result.replace(/\s/g,"");
 return result;
}

去掉字符串两边空格的函函数参数说明: sInputString 为输入字符串,iType为类型,分别为 0 – 去除前后空格; 1 – 去前导空格; 2 – 去尾部空格
这是客户端的脚本代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<SCRIPT language="text/javascript">
function cTrim(sInputString,iType)
{
var sTmpStr =
var i = -1
 
if(iType == 0 || iType == 1)
{
 while(sTmpStr == )
  {
   ++i
   sTmpStr = sInputString.substr(i,1)
  }
 sInputString = sInputString.substring(i)
}
 
if(iType == 0 || iType == 2)
{
  sTmpStr =
  i = sInputString.length
  while(sTmpStr == )
   {
    --i
    sTmpStr = sInputString.substr(i,1)
   }
  sInputString = sInputString.substring(0,i+1)
}
 return sInputString
}
</script>

使用方法:
str变量存储的是要进行去空格的字符串
去前后空格:str=cTrim(str,0) //str此时得到的字符串就是原来字符串去了前后连续空格后的字符串
去前导空格:str=cTrim(str,1)
去后导空格:str=cTrim(str,2)

函数的实现原理简述:
sInputString是要进行去空格的字符串,使用一个变量(sTmpStr)来存储空格字符,一个变量(i)存储一个正负数的位置标志。
去前导空格。
i与sTmpStr初始化(var sTmpStr = ;var i = -1),判断sTmpStr为空格时,i+1并给sTmpStr取sInputString的i位置的字符(sInputString.substr(i,1))。上面过程循环直到sTmpStr不为空格,此时i表示sInputString从i位置开始之后的字符开始不是空格,取sInputString第i位置开始之后的所有字符(sInputString.substring(i)),此时字符串 sInputString的前边的所有连续的空格就被剪去了。
去后导空格。
这是与前面完全相同的过程!sTmpStr初始化(var sTmpStr = ),i取字符串sInputString长度值(sInputString.length),判断sTmpStr为空格时,i-1并给sTmpStr取 sInputString的i位置的字符(sInputString.substr(i,1))。上面过程循环直到sTmpStr不为空格,此时i表示 sInputString从i位置开始前面的字符开始不是空格,取sInputString第i位置开始前面的所有字符(sInputString.substring(0,i+1)),此时字符串sInputString的后边的所有连续的空格就被剪去了。
其实去前导空格无非就是判断字符串第一个字符是不是空格,是就判断第二个,以此循环下去,直到不是空格为止,然后取不是空格字符开始后面的所有字符。而去后导空格呢,则是判断最后一个字符是不是空格,是就判断倒数第二个,以此循环下去,直到不是空格为止,得到后面有多少个连续空格,然后取前面相应长度字符,不要后面连续的空格即可。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 老生常谈,JavaScript闭包中的this对象

    老生常谈,JavaScript闭包中的this对象

    2016-02-26 10:21

  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • JavaScript复习笔记--字符串

    JavaScript复习笔记--字符串

    2016-01-27 17:16

  • WEB前端教程-JavaScript里的类和继承

    WEB前端教程-JavaScript里的类和继承

    2016-01-21 15:28

网友点评
0