Каков наилучший способ обрезки () в JavaScript - PullRequest
40 голосов
/ 13 октября 2008

Вопрос говорит сам за себя; JS, похоже, не имеет встроенного метода trim ().

Ответы [ 19 ]

3 голосов
/ 17 июня 2015

Я использую это с родным JavaScript

// Adding trim function to String object if its not there
if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
  }
}

Используйте вот так

var myString = "                  some text                  ";

alert(myString.trim());

Пример

// Adding trim function to String object if its not there
if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
  }
}

var str = "      some text              ";
console.log(str.trim());
1 голос
/ 20 октября 2009

Я использую это.

    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g,"");
    }
1 голос
/ 13 октября 2008

Ответ на многие вопросы JavaScript: jQuery

$j.trim(string)



Примечание: выше предполагается, что ваш jQuery был настроен с:

<script type="text/javascript">$j = jQuery.noConflict();</script>

Что гораздо разумнее, чем "$", и гораздо менее многословно, чем каждый раз вводить "jQuery".

1 голос
/ 08 декабря 2008

Microsoft .NET также имеет функцию String.trim как часть расширений базового типа JavaScript. Его можно использовать, если вы кодируете приложение ASP.NET.

0 голосов
/ 22 сентября 2014

Это старый вопрос, но ни один из них не работал для меня. Мне просто нужно было обрезать начальные и конечные пробелы, и это то, что я сделал. У моего тега div был идентификатор = дата начала.

$("#start-date").text().trim()
0 голосов
/ 30 октября 2008

На самом деле, с jQuery это выглядит так:

jQuery.trim(string)

(Ссылка)

0 голосов
/ 11 апреля 2013

Это, вероятно, не самый быстрый и может нарушать то, что ".trim ()", вероятно, действительно должно быть, но мне не нравятся RegEx (в основном потому, что требуется много времени, чтобы выяснить, что они действительно означают / делают) и мне нравится иметь что-то, что я знаю, будет работать независимо от того, у меня есть jQuery или нет (не говоря уже о правильной версии, так как я пробовал $ .trim (myVar) с jQuery 1.4.2, и он не работает), и получит избавиться от ВСЕХ лишних пробелов, не только в конце, перестроить его так, как должно быть:

function Trim(obj) {
    var coll = "";
    var arrObj = obj.split(' ');

    for (var i=0;i<arrObj.length;i++) {
        if (arrObj[i] == "") {
            arrObj.splice(i,1);  // removes array indices containing spaces
        }
    }
    //alert(arrObj.length);  // should be equal to the number of words
    // Rebuilds with spaces in-between words, but without spaces at the end
    for (var i=0;i<arrObj.length;i++) {
        if (arrObj[i] != "" && i != arrObj.length-1)
            coll += arrObj[i] + " ";
        if (arrObj[i] != "" && i == arrObj.length-1)
            coll += arrObj[i];
    }

    return coll;
}
0 голосов
/ 17 июля 2010

Вы можете использовать следующие ...

function trim(str) {
    try {
        if (str && typeof(str) == 'string') {
            return str.replace(/^\s*|\s*$/g, "");
        } else {
            return '';
        }
    } catch (e) {
        return str;
    }
}
0 голосов
/ 17 июля 2010

Я использую это:

Работа с функциями.

 function trim($) { 
                return (typeof $ == "function" ? $() : $).replace(/[\s]*/g,"")
        }

        code example: 

        trim((function(){ return "a  b"})) // ab

        trim(" a  b") //ab
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...