第一种:循环检查替换
创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都网站制作、成都做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元邯山做网站,已为上家服务,为邯山各地企业和个人服务,联系电话:028-86922220
[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;
}
//去掉右边的空白
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-1; i=0; i--){
if(/\S/.test(str.charAt(i))){
str = str.substring(0, i+1);
break;
}
}
return str;
}
经过测试第五种方法在处理长字符串时效率最高。
方法一:
代码如下:
//javascript去空格函数
function LTrim(str){ //去掉字符串 的头空格
var i;
for(i=0;i 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-1;i=0;i--){
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
// 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函数
关于去掉两头空格,jquery库提供了$.trim()方法,可是JS呢,我写了.trim(),在FF里有效果,但在IE里就没效了,群里的朋友说,如果浏览器实现了trim(),就有,如果浏览器没实现,只能用正则替换。
function trimStr(str){return str.replace(/(^\s*)|(\s*$)/g,"");}
用的时候就是直接
var 变量=trimStr(需要去空格的字符串)
由于JavaScript没有提供原生的trim()函数。
$.trim()是jQuery提供的函数,用于去掉字符串首尾的空白字符。
例如:
$.trim(" Hello, chinaren_1123 摆渡浮桥! "); //去掉前后空格后-Hello, chinaren_1123 摆渡浮桥!
去掉空格的本质就是将字符串中的空字符串删除,根据这个解决思路,我们有多种解决方法。
方法一:遍历法。遍历字符串中的字符保留有效字符
function trim(str){
var i;
var rst = '';
for(i=0;istr.length;i++){
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