JS 字符串去除前后空格 trim(十四)

爱一个人是一回事,拥有一个人是另外一回事,爱上并拥有一个人,更是另外一回事。 蝴蝶,是什么,是希望,是真正的希望。

上一章简单介绍了Select的option 中填充其他属性值(十三),如果没有看过,请观看上一章

一. 去除空格trim() 方法

在Java 语言中,String 类中有一个trim() 去除左右空格的方法, 在JS中,以前是没有这样的方法的,需要自己手动书写,现在有了,但是这个trim() 方法,还是要理解的,所以总结归纳一下。

二. 比较笨的 前面去空格的方法。

一看例子就明白。

二.一 去除左空格 ltrim()

function ltrim(str){
	if(str==""||str==undefined){
		return "";
	}
	var n=0;
	for(var i=0,length=str.length;i

二.二 去除右空格 rtrim()

function rtrim(str){
	if(str==""||str==undefined){
		return "";
	}
	var n=str.length;
	for(var i=str.length-1;i>=0;i--){
		var c=str.charAt(i);
		if(c!=" "){ //如果为空,就将索引继续添加。
			break;
		}
		n--;
	}
	return str.substring(0,n);
}

二.三 去除左右空格 trim()

function trim(str){
	return rtrim(ltrim(str));
}

这种方式不太好。

var name="   你好,  我要去空格     ";
console.log("去除左空格是:"+ltrim(name)+",结束");
console.log("去除右空格是:"+rtrim(name)+",结束");
console.log("去除左右空格是:"+trim(name)+",结束");

验证为:
在这里插入图片描述
注意,不会去除掉字符串中间的空格。

三. 正则表达式验证

主要是将不可见字符替换成"" . (中间没有空格)

function ltrim(str){
	// \s 为任意的空白符.  包括空格,换行符,制表 符,换页符  。 \f\n\r\t\v
	return str.replace(/(^\s*)/g,"");
}
function rtrim(str){
	return str.replace(/(\s*$)/g,"");
}
function trim(str){
	return str.replace(/(^\s*)|(\s*$)/g,"");
}

也可以:

function trim(str) {
	if (str == null) {
	    return "";
	}
	return str.replace(/^\s*(.*?)[\s\n]*$/g,'$1');   
}

四. JS中String 类扩展

利用原型,进行相应的扩展。

		String.prototype.ltrim=function(){
	      return this.replace(/(^\s*)/g,"");
	   }
	   String.prototype.rtrim=function(){
	      return this.replace(/(\s*$)/g,"");
	   }
		String.prototype.trim=function(){
	      return this.replace(/(^\s*)|(\s*$)/g, "");
	   }

这样,就可以直接

var name="    张三    " .trim(); 

即可,仿佛是js 中字符串的方法。 (虽然现在JS已经提供了)

五. Jquery 中的trim() 方法。

$.trim(字符串) 方法。

var name="   你好,  我是jquery去除空格     ";
console.log("去除左右空格是:"+$.trim(name)+",结束");

在这里插入图片描述

六. JS 新提供的方法

提供了五个方法。
JS 字符串去除前后空格 trim(十四)_第1张图片

var name="   你好,  我是js新提供去除空格     ";
console.log("去除左右空格是:"+name.trim()+",结束");
console.log("去除左空格是:"+name.trimLeft()+",结束");
console.log("去除右空格是:"+name.trimRight()+",结束");
console.log("去除开始空格是:"+name.trimStart()+",结束");
console.log("去除结束空格是:"+name.trimEnd()+",结束");

JS 字符串去除前后空格 trim(十四)_第2张图片
trimLeft() 与trimStart() 方法一致, trimRight() 与trimEnd() 方法一致。
可以直接使用JS自带的方法。

谢谢!!!

你可能感兴趣的:(JS前端小方法)