javascript的trim()函数的实现

原文地址:http://www.ijavascript.cn/jiaocheng/javascript-trim-145.html

在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的

方法一:

function   trim(str)
{
for(var   i   =   0   ;   i<str.length   &&   str.charAt(i)=="   "   ;   i++   )   ;
for(var   j   =str.length;   j>0   &&   str.charAt(j-1)=="   "   ;   j--)   ;
if(i>j)   return   "";  
return   str.substring(i,j);  
}

方法二:
//   增加一个名为   trim   的函数作为
//   String   构造函数的原型对象的一个方法。
String.prototype.trim   =   function()
{
         //   用正则表达式将前后空格
         //   用空字符串替代。
         return   this.replace(/(^/s*)|(/s*$)/g,   "");
}

//   有空格的字符串
var   s   =   "         我的长度         ";

//   显示trim前长度
window.alert(s   +   "   trim前长度:   ("   +   s.length   +   ")");

//   删除前后空格
s   =   s.trim();
//   显示trim后长度
window.alert(s   +   "     trim后长度:("   +   s.length   +   ")");

Javascript中S.replace(/(^/s*)|(/s*$)/g, "");的 (^/s*)|(/s*$) 是什么意思的?

  • 首先是把/(^/s*)|(/s*$)/g 替换为""
  • 然后,/.../g 里面的,是表示放置通配符的地方,g代表全局参数,(^/s*)或者(/s*$)都将被替换为""
  • 匹配首尾空白字符的正则表达式:^/s*|/s*$ 可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

方法3:

//javascript中调用vbscript的函数,构造一个javascript版的trim 函数

<html>
<head>
</head>
<body>

<p> </p>
<script language=vbscript>
function VBTrimStr(temStr)
VBTrimStr=trim(temStr)
end function
</script>

<script language=javascript>
function TrimStr(temStr){
return VBTrimStr(temStr)
}
</script>
<form name=fmTest>
<input type=text name=txtTest>
<input type=button name=btnOk value=ok>
</form>
<script language=javascript for=btnOk event=onclick>
var getStr=document.fmTest.txtTest.value
alert("*" + getStr + "*")
getStr=TrimStr(getStr)
alert("*" + getStr + "*")
</script>
</body>
</html>

Javascript Trim Member Functions
Use the code below to make trim a method of all Strings. These are useful to place in a global Javascript file included by all your pages.

String.prototype.trim = function() {return this.replace(/^/s+|/s+$/g,"");}
String.prototype.ltrim = function() {return this.replace(/^/s+/,"");}
String.prototype.rtrim = function() {return this.replace(//s+$/,"");}
// example of using trim, ltrim, and rtrimvar myString = " hello my name is ";
alert("*"+myString.trim()+"*");
alert("*"+myString.ltrim()+"*");
alert("*"+myString.rtrim()+"*");


Javascript Trim Stand-Alone Functions
If you prefer not to modify the string prototype, then you can use the stand-alone functions below.

function trim(stringToTrim) {return stringToTrim.replace(/^/s+|/s+$/g,"");}
function ltrim(stringToTrim) {return stringToTrim.replace(/^/s+/,"");}
function rtrim(stringToTrim) {return stringToTrim.replace(//s+$/,"");}
// example of using trim, ltrim, and rtrimvar myString = " hello my name is ";
alert("*"+trim(myString)+"*");
alert("*"+ltrim(myString)+"*");
alert("*"+rtrim(myString)+"*");
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值