js 怎么去掉空格换行

JavaScript015

js 怎么去掉空格换行,第1张

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <script type="text/javascript">

        window.onload = function(){

            var s ="<html>\n"

                    +"<body>\n"

                    +"                           \n"

                    +"<div>\n"

                    +"123\n"

                    +"                             \n"

                    +"</div>\n"

                    +"                        \n"

                    +"</body>\n"

                    +"                      \n"

                    +"</html>"

          var str =  s.replace(/(\s+\n+|\n+|\s+|\n+\s+)/g,"")

            console.log(str)

          var str = str.replace(/></g,">\n<")

            console.log(str)

          var str = str.replace(/>\S+</g,function(world){

              return ">\n"+world.substring(1,world.length-1)+"\n<"

          })

            console.log(str)

            document.getElementById("msg").innerText = str

        }

    </script>

    <style type="text/css">

        .msg{

            width: 100%

            height: 60px

            color:#FBBDEE

        }

    </style>

</head>

<body>

<div id="msg" class="msg"></div>

</body>

</html>

不知道适不适合你的要求。个人觉得是可以满足的。

第一种:循环检查替换

[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

}

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

具体的算法为:

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一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。