首页 > 试题广场 >

请给JavaScript的String 原生对象添加一个名为

[问答题]
请给JavaScript的String 原生对象添加一个名为trim 的原型方法,用于截取空白字符。要求
alert(" taobao".trim());     // 输出 "taobao"
alert(" taobao ".trim());    // 输出 "taobao"
推荐
String.prototype.trim = function() {          
    return this.replace(/^\s+|\s+$/g, "");     
};

编辑于 2015-01-09 14:44:05 回复(2)
//版本一、速度最快 (计算速度直逼二进制)
String.prototype.trim=function(){
    var str=this;
    var
whitespace='\n\r\t\f\x0b\xa0\u2001\u2002\u2003\n\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
for(var i=0;i<str.length;i++){
    if(whitespace.indexOf(str.charAt(i))==-1){
    str=str.substring(i);
    break;
}
}
for(i=str.length-1;i>=0;i--){
    if(whitespace.indexOf(str.charAt(i))==-1){
    str=str.substring(0,i+1);
    break;
}
}
return whitespace.indexOf(str.charAt(0))===-1?str:'';
}

//版本二、速度也很快
String.prototype.trim=function(){
var str=this;
str.replace(/^\s+/,'');
for(var i=str.length-1;i>=0;i++){
if(/\S/.test(str.charAt(i))){
str=str.substring(0,i+1);
break;
}
}
return str;
}

//版本三 很通用
String.prototype.trim=function(){
var str=this;
return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');
}
发表于 2015-06-10 11:26:07 回复(0)
String.prototype.trim = function(){
    return this.replace(/^\s*|\s*$/g,"");
}
发表于 2019-08-23 14:32:54 回复(0)
String.prototype.trim = function(){
    return this.split(' ').join("");
}
发表于 2017-08-08 00:19:24 回复(0)
String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g, '');
}
var test = '  after';
console.log(test.trim());

发表于 2017-07-28 10:41:47 回复(0)
String.prototype.trim=function(){
	var reg=/^\s*([a-zA-Z]{1,})\s*$/;
	return this.match(reg)[1];
}
console.log("taobao ".trim());

发表于 2017-07-12 15:28:34 回复(0)
String.prototype.trim = function() {
    // return this.replace(/\s+/g, ''); // 字符串中全部空格
    return this.replace(/^\s+|\s$/g, ''); // 字符串首位空白字符
    }
发表于 2016-07-20 17:40:25 回复(1)
String.prototype.trim=function(){
  var start=0,end=0;
  var array=this.split('');
  for(var i=0;i<array.length;i++){
if(array[i]){
start=i;
break;
}
  }
  for(var i=0;i<array.length;i++){
if(array[i]){
end=i;
}
  }
  return this.substring(start,end);
}
var test="    tao bao    ";
document.write(test.trim());
发表于 2015-07-15 15:27:13 回复(0)
String.prototype.trim = function(){
var a = this.split("");
for(var i=a.length-1;i>=0;i--){
if(a[i]==" "){
a.pop();
}else{
break;
}
}
a.reverse()
for(var i=a.length-1;i>=0;i--){
if(a[i]==" "){
a.pop();
}else{
break;
}
}
return a.reverse().join("");
}
var d="   dfa   ".trim();
发表于 2015-03-31 16:27:37 回复(0)
String.prototype.trim=function(){
return this.replace(/^\s+|\s+$/g,"");
}
编辑于 2015-03-29 21:45:50 回复(0)
String.prototype.trim=function(){
    return this.replace('/(^\s*)|(\s*$)/g');
}
发表于 2015-03-22 14:08:29 回复(0)
String.prototype.trim=function(){
 return this.replace(/^\s|\s+$/g,"")
}
发表于 2015-03-11 14:48:04 回复(0)
晕头像
String.prototype.trim=function(){
return this.replace(/^[\s\n]+|[\s\n]+$/g,'')
}
发表于 2014-12-26 02:40:36 回复(0)
function trim(str){
    return str.replace(/(^\s*)|(\s*$)/g,"");
}
发表于 2014-12-22 21:56:13 回复(0)
String.prototype.trim = function(){
    var str = this;
    arg = str.split(' ');
    str=arg.join('');
    return str;
}
发表于 2014-12-16 22:15:41 回复(0)
String.prototype.trim = function(){
         return this.replace(/(^ | $)/g,"")
 }
发表于 2014-12-11 22:13:07 回复(0)
String.prototype.trim=String.prototype.trim||function(){
}
发表于 2014-12-08 13:09:40 回复(0)
String.prototype.trim = function(){
    var arr = this.splice(" ");
    var result="";
    for(i=0;i<arr.length;i++){
        result +=arr[i];
    }
    return result;
}
发表于 2014-12-02 10:48:21 回复(0)
String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g, "");     };

发表于 2014-11-12 16:40:53 回复(0)
String.prototype.trim = function() {
  return this.replace(/^\s+/, '').replace(/\s+$/, '');
}
发表于 2014-11-06 20:57:34 回复(0)
String.prototype.trim=function(){
 return this.replace(/^\s+|\s+$/g,'');

} 

发表于 2014-11-05 11:07:02 回复(0)