js去掉字符串前后空格的五种方法

JavaScript0815

js去掉字符串前后空格的五种方法,第1张

第一种:循环检查替换

[javascript]

//供使用者调用

function trim(s){

return trimRight(trimLeft(s))

}

//去掉左边的空白

function trimLeft(s){

if(s == null) {

return ""

}

var whitespace = new String(" \t\n\r")

var str = new String(s)

if (whitespace.indexOf(str.charAt(0)) != -1) {

var j=0, i = str.length

while (j <i &&whitespace.indexOf(str.charAt(j)) != -1){

j++

}

str = str.substring(j, i)

}

return str

}

//去掉右边的空白 www.2cto.com

function trimRight(s){

if(s == null) return ""

var whitespace = new String(" \t\n\r")

var str = new String(s)

if (whitespace.indexOf(str.charAt(str.length-1)) != -1){

var i = str.length - 1

while (i >= 0 &&whitespace.indexOf(str.charAt(i)) != -1){

i--

}

str = str.substring(0, i+1)

}

return str

}

第二种:正则替换

[javascript]

<SCRIPT LANGUAGE=" Java Script">

</SCRIPT>

第三种:使用jquery

[javascript]

$.trim(str)

jquery内部实现为:

[javascript]

function trim(str){

return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'')

}

第四种:使用motools

[javascript]

function trim(str){

return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '')

}

第五种:裁剪字符串方式

[javascript]

function trim(str){

str = str.replace(/^(\s|\u00A0)+/,'')

for(var i=str.length-1i>=0i--){

if(/\S/.test(str.charAt(i))){

str = str.substring(0, i+1)

break

}

}

return str

}

经过测试第五种方法在处理长字符串时效率最高。

在JS中,我们经常需要处理字符串,也经常需要去除字符串的空格。

缺陷:通过字符串自带方法,无法去除字符串中间的空格

2.通过RegExp

使用$.trim()也只能出去两端空格

知识点回顾:

String相关

原始值字符串并没有属性和方法,因为他们不是对象。但原始值可以使用 属性和方法,是因为 JavaScript 在执行其方法和属性时经过了包装类

方法一:

代码如下:

//javascript去空格函数

function LTrim(str){ //去掉字符串 的头空格

var i

for(i=0i if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break

}

str = str.substring(i,str.length) 

return str

}

function RTrim(str){

var i 

for(i=str.length-1i>=0i--){ 

if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break 

} str = str.substring(0,i+1)

return str

}

function Trim(str){

return LTrim(RTrim(str))

}

方法二:

代码如下:

<SCRIPT LANGUAGE="JavaScript">

<!--

//出处:网上搜集 

//made by yaosansi 2005-12-02

//For more visit http://www.yaosansi.com

// Trim() , Ltrim() , RTrim()

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>

扩展资料:

LTRIM参数:string:规定要转换的字符串。

LTRIM参数:charlist:规定从字符串中删除哪些字符。如果未设置该参数,则全部删除以下字符。

例如:

<html><body><?php

$str = " Hello World!"

echo "Without ltrim: " . $str

echo "<br />"

echo "With ltrim: " . ltrim($str)

?><body><html>

输出:Without ltrim: Hello World! With ltrim: Hello World!

如果在浏览器中查看源代码,会看到以下 HTML:

<html><body>Without ltrim: Hello World!<br />With ltrim: Hello World! </body></html>

参考资料来源:百度百科—LTRIM函数