JavaScript中对字符串中空格的处理
来源:互联网 发布:特蕾莎修女 英文 知乎 编辑:程序博客网 时间:2024/04/30 14:33
在JavaScript语言中,字符串就是一种对象。
字符串的操作必须使用内置的构造器和设置方法来完成,JavaScript为字符串提供了很多方法,最常用的比如indexOf()、charAt()和substring()。然而,有一些其他开发语言中字符串的常用操作却没有提供,比如是去除字符串前后空格的trim()函数就没有提供。
在这里,为广大web开发者提供一个字符串trim()的源码,希望能为大家开发中提供方便:
function trim(s)
{
if (s == null)
{
return s;
}
var i;
var beginIndex = 0;
var endIndex = s.length - 1;
for (i=0; i<s.length; i++)
{
if (s.charAt(i) == ' ' || s.charAt(i) == ' ')
{
beginIndex++;
}
else
{
break;
}
}
for (i = s.length - 1; i >= 0; i--)
{
if (s.charAt(i) == ' ' || s.charAt(i) == ' ')
{
endIndex--;
}
else
{
break;
}
}
if (endIndex < beginIndex)
{
return "";
}
return s.substring(beginIndex, endIndex + 1);
}
上面这个trim()函数只是将字符串s的前后空格去掉了,而对字符串中间的空格没有受影响。
如果说在字符串中间有多个连续空格,而只想保留其中的一个,可以用下边的cutSpace()函数:
//去除多余的空格,如果有连续空格,只保留第一个
function cutSpace(s)
{
var len = s.length;
var i;
var ch;
var result = "";
i = 0;
while (i < len)
{
ch = s.charAt(i++);
result += ch;
if (ch != ' ')
{
continue;
}
while (i < len && (ch = s.charAt(i)) == ' ')
{
i++;
}
}
return result;
}
可能有人会觉得为什么不把中间的空格都去掉了,一个都不留呢?呵呵,空格存在必然有其存在的道理。空格一般来说就是用来分隔的,多了就浪费空间了,而一个都不留的话,那么就没有分隔了,所有的字、词、句都连一块了。因此,去除空格也应该考虑“过犹不及”。
当然,如果用户真有去掉所有空格的需求,相信你根据上边的cutSpace()函数稍稍改写一下,就能实现你的需要。祝你顺利。
简短的Trim
return this.replace(/^s+|s+$/g,"");
}
String.prototype.ltrim = function() ...{
return this.replace(/^s+/,"");
}
String.prototype.rtrim = function() ...{
return this.replace(/s+$/,"");
}
- JavaScript中对字符串中空格的处理
- JavaScript中对空格的处理方法
- JavaScript中字符串去空格的函数
- javascript中删除字符串空格的方法
- Javascript 中去字符串前后的空格
- asp 截取字符串中空格的处理
- Python中空格字符串的处理技巧
- JavaScript删除字符串中空格
- oracle中如何对字符串进行去除空格的方法
- Windows批处理中对带空格路径的处理
- windows批处理中对带空格路径的处理
- windows批处理中对带空格路径的处理
- Windows批处理中对带空格路径的处理
- 在javascript中如何去除字符串两头的空格
- javascript中去掉字符串的前后多余空格
- JavaScript中如何去除字符串前后的空格?
- JavaScript中去掉字符串两端空格(trim)
- JavaScript检测字符串中是否有空格
- C语言编程浅谈
- 购买了一套无线设备! 爽
- 快速利用xampp搭建php+j2ee环境+虚拟主机
- windows下mysql解压版Dos命令小记
- Swf 8/9 MetaData 探究
- JavaScript中对字符串中空格的处理
- C/C++头文件一览
- C++ string Class 使用
- 学习指针不可少的好文章 !
- 单片机C51编程规范
- Keil C51 vs 标准C
- 在C51中变量的空间分配几个方法
- 学习linux
- 业务人员用的软件=BPEL+SOA