js trim函数多种实现方法

发布时间:2020-06-26编辑:脚本学堂
本文介绍了js中trim函数的实例代码,多种方法实现的js trim函数,为string对象添加trim,ltrim,rtrim方法,有需要的朋友参考下。

如何在javascript中为string对象添加trim,ltrim,rtrim方法?js怎么实现trim函数?

javascript没有独立的trim函数或方法,自己写个trim函数吧。
方法一:
 

复制代码 代码示例:
string.prototype.trim= function(){ 
    // 用正则表达式将前后空格 
    // 用空字符串替代。 
    return this.replace(/(^/s*)|(/s*$)/g, ""); 
}

方法二:
 

复制代码 代码示例:
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); 
}

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

首先,把/(^/s*)|(/s*$)/g 替换为""

然后,/.../g 里面的,是表示放置通配符的地方,g代表全局参数,(^/s*)或者(/s*$)都将被替换为""

匹配首尾空白字符的正则表达式:^/s*|/s*$ 可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式。

在javascript中使用trim函数去除空格的方法,还可以参考:javascript trim函数去空格  javascript trim函数实现代码

javascript内实现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   +   ")");

方法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)+"*");

利用javascript中每个对象(object)的prototype属性为javascript中的内置对象添加方法和属性。
以下例子就用这个属性来为string对象添加三个方法:trim,ltrim,rtrim(与vbscript中同名函数功能一样)。

代码:
 

复制代码 代码示例:
string.prototype.trim = function()
{
    return this.replace(/(^/s*)|(/s*$)/g, "");
}
string.prototype.ltrim = function()
{
    return this.replace(/(^/s*)/g, "");
}
string.prototype.rtrim = function()
{
    return this.replace(/(/s*$)/g, "");
}
 

js自定trim函数的使用实例:
 

复制代码 代码示例:

<script language=javascript>
string.prototype.trim = function()
{
    return this.replace(/(^/s*)|(/s*$)/g, "");
}

var s = "    leading and trailing spaces    ";
window.alert(s + " (" + s.length + ")");
s = s.trim();
window.alert(s + " (" + s.length + ")");
</script>