[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
}
经过测试第五种方法在处理长字符串时效率最高。
思路:通过正则表达式进行区配即可用javascript去掉字符串里的所有空格
代码如下:
function Trim(str,is_global) { var result result = str.replace(/(^\s+)|(\s+$)/g,"") if(is_global.toLowerCase()=="g") { result = result.replace(/\s/g,"") } return result}
代码中用到正则表达式,含义就是去掉字符串里的所有空格
正则表通常被用来检索、替换那些符合某个模式(规则)的文本
解释说明:/ pattern /g 是正则字符串的语法,上述代码中主要是这个gg (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找)
去掉空格的本质就是将字符串中的空字符串删除,根据这个解决思路,我们有多种解决方法。
方法一:遍历法。遍历字符串中的字符保留有效字符
function trim(str){var i
var rst = ''
for(i=0i<str.lengthi++){
var c = str.charAt(i)
if(c!==" "){
rst = rst + c
}
}
return rst
}
var testStr = " te s t "
testStr = trim(testStr)
console.log(testStr )
//test
方法二:利用数组。利用数组特性简化代码
function trim(str){var chars = str.split(" ")
return chars.join('')
}
var testStr = " te s t "
testStr = trim(testStr)
console.log(testStr )
//test
方法三:递归法。利用正则表达式递归去除空格符
function trim(str) {return str.replace(/(^\s+)|(\s+$)/g, "")
}
var testStr = " te s t "
testStr = trim(testStr)
console.log(testStr )
//test
方法四:利用jquery.js。如果你使用jquery,可以使用jquery里的trim函数
var testStr = " te s t "testStr = $.trim(testStr)
console.log(testStr )
//test