js中trim去除字符串左右两端的空格
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] 在javascript中如果你想去除字符串左右两端的空格的话直接像在vbs中使用trim、ltrim 或 rtrim函数你会发现报错了,在js中没有这三个函数的,我们需要自定义哦,下面我来给大家介绍js中实...
写成类的方法格式如下:(str.trim();)我们利用正则表达式来操作
代码如下 |
复制代码 |
<script language=”javascript”>
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,”");
}
</script>
|
或者这样写
代码如下 |
复制代码 |
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(str))
代码如下 |
复制代码 |
<script type=”text/javascript”>
function trim(str){ //删除左右两端的空格
return str.replace(/(^s*)|(s*$)/g, “”);
}
function ltrim(str){ //删除左边的空格
return str.replace(/(^s*)/g,”");
}
function rtrim(str){ //删除右边的空格
return str.replace(/(s*$)/g,”");
}
</script>
|
S.replace(/(^s*)|(s*$)/g, "");的 (^s*)|(s*$)
首先是把/(^s*)|(s*$)/g 替换为""
然后,/.../g 里面的,是表示放置通配符的地方,g代表全局参数,(^s*)或者(s*$)都将被替换为""
匹配首尾空白字符的正则表达式:^s*|s*$ 可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 |