如何在Javascript中为String对象添加trim,ltrim,rtrim方法呢?下面是小编给大家提供的实现代码,大家可以参考阅读,更多详情请关注应届毕业生考试网。
利用Javascript中每个对象(Object)的prototype属性我们可以为Javascript中的内置对象添加我们自己的方法和属性。
javascript 中没有 trim 函数,以下我们就用这个属性来为String对象添加三个方法:Trim,LTrim,RTrim (作用和VbScript中的同名函数一样) ,其中使用了正则表达式。
<script lang ge= "JavaScript">
= function() {
return ace(/(^s*)|(s*$)/g, "");
}
m = function() {
return ace(/(^s*)/g, "");
}
m = function() {
return ace(/(s*$)/g, "");
}
e( " hehe "()+"hello"); //输出的结果是 herehello
</script>
不采用正则表达式的另一种方法,有人给出的评论是:
我只想说,搞出这个的人已经不是用牛来形容,已是神一样的级别。它先是把可能的空白符全部列出来,在第一次遍历中砍掉前面的空白,第二次砍掉后面的空白。全过程只用了indexOf与s string这个专门为处理字符串而生的原生方法,没有使用到正则。速度快得惊人,估计直逼上内部的二进制实现,并且在IE与火狐(其他浏览器当然也毫无疑问)都有良好的表现。速度都是零毫秒级别的。
= function(){
var str = this,
whitespace = ' nrtfx0bxa0?????????????? ';
for (var i = 0,len = th; i < len; i++) {
if (xOf(At(i)) == -1) { //如果碰到非空格的字符,则本次循环结束
str = str.s string(i); //取得的是左边所有空格之后的字符串内容
break;
}
}
for (i = th - 1; i >= 0; i--) {
if (xOf(At(i)) == -1) {
str = str.s string(0, i + 1); //取得的是右边所有空格之前的字符串内容。注意,这里是 i+1
break;
}
}
return xOf(At(0)) == -1 ? str : '';
}
indexOf 和 substring 两个函数用途及语法说明:
★ indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
语法:xOf(searchvalue,fromindex)
参数描述:
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 th - 1。如省略该参数,则将从字符串的首字符开始检索。
注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。
★ substring() 方法用于提取字符串中介于两个指定下标之间的.字符。
语法:tring(start,stop)
参数描述 :
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。