[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函数