js去空格的函数cTrim

本文介绍了一个用于JavaScript的自定义函数cTrim,该函数能够去除字符串前后的空格。通过设置参数,可以选择去除前导空格、尾部空格或两者。文章详细解释了函数的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//去掉字符串两边空格的函数
//函数参数说明: sInputString 为输入字符串,iType为类型,分别为 0 - 去除前后空格; 1 - 去前导空格; 2 - 去尾部空格
//这是客户端的脚本代码。
<SCRIPT language="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的后边的所有连续的空格就被剪去了。 
 
    其实去前导空格无非就是判断字符串第一个字符是不是空格,是就判断第二个,以此循环下去,直到不是空格为止,然后取不是空格字符开始后面的所有字符。而去后导空格呢,则是判断最后一个字符是不是空格,是就判断倒数第二个,以此循环下去,直到不是空格为止,得到后面有多少个连续空格,然后取前面相应长度字符,不要后面连续的空格即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值