爱一个人是一回事,拥有一个人是另外一回事,爱上并拥有一个人,更是另外一回事。 蝴蝶,是什么,是希望,是真正的希望。
上一章简单介绍了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<length;i++){
var c=str.charAt(i);
if(c!=" "){ //如果为空,就将索引继续添加。 里面有一个空格。
break;
}
n++;
}
return str.substring(n);
}
二.二 去除右空格 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 新提供的方法
提供了五个方法。
var name=" 你好, 我是js新提供去除空格 ";
console.log("去除左右空格是:"+name.trim()+",结束");
console.log("去除左空格是:"+name.trimLeft()+",结束");
console.log("去除右空格是:"+name.trimRight()+",结束");
console.log("去除开始空格是:"+name.trimStart()+",结束");
console.log("去除结束空格是:"+name.trimEnd()+",结束");
trimLeft() 与trimStart() 方法一致, trimRight() 与trimEnd() 方法一致。
可以直接使用JS自带的方法。
谢谢!!!