js_trim()_1

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:35   2298   0

javascript的trim()函数的实现


在JavaScript中我们需要用到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的方法

直接拷贝的话,空格可能出现问题,请仔细检查

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




分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP