Что лучший способ состоит в том, чтобы обрезать () в JavaScript

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

40
задан Alin Purcaru 15 December 2010 в 16:16
поделиться

14 ответов

На самом деле с jQuery это, кажется, путь:

jQuery.trim(string)

(Ссылка)

0
ответ дан Evan 27 November 2019 в 01:03
поделиться

Microsoft.NET также имеет функция String.trim как часть Расширений Базового типа JavaScript. Это могло использоваться при кодировании приложения ASP.NET.

1
ответ дан Alexander Prokofyev 27 November 2019 в 01:03
поделиться

Ответ на такое количество вопросов о JavaScript: Примечание jQuery

$j.trim(string)



: вышеупомянутое предполагает, что Ваш jQuery был установкой с:

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

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

1
ответ дан Peter Boughton 27 November 2019 в 01:03
поделиться

Почему не только изменяют Строковый прототип? Для почему бы не кражи функции для обрезки из библиотеки с открытым исходным кодом как, я сделал здесь с YUI? (Необходимо ли действительно загрузиться и вся платформа для этого простые гвозди?) Соединенный их и Вас получаете это:

String.prototype.trim = function() {
    try {
        return this.replace(/^\s+|\s+$/g, "");
    } catch(e) {
        return this;
    }
}

var s = " hello ";
alert(s.trim() == "hello"); // displays true
5
ответ дан Benry 27 November 2019 в 01:03
поделиться

Для ltrim пробелы замены привязали в начале строки ни с чем:

str2 = str.replace(/^\s+/,'');

Для rtrim, пробелы замены привязали в конце строки ни с чем:

str2 = str.replace(/\s+$/,'');

Для обрезки:

str2 = str.replace(/^\s+|\s+$/g,'');

они все использование regex'es, чтобы сделать фактическую работу.

6
ответ дан paxdiablo 27 November 2019 в 01:03
поделиться

Немного более крошечная версия @Pat.

return str.replace( /^\s+|\s+$/g, '' );
7
ответ дан paxdiablo 27 November 2019 в 01:03
поделиться

Как несколько других уже отметили, обычно лучше сделать этот вид вещи при помощи сторонней библиотеки JS. Не то, чтобы обрезка () является сложной функцией для создания себя, но существует столько функций, которые не являются собственными к JavaScript, в котором Вы, возможно, нуждались бы и закончили бы тем, что писали себя, это скоро становится более экономически эффективным для пользований библиотекой.

, Конечно, другое преимущество пользования библиотекой JS состоит в том, что авторы делают тяжелую работу обеспечения, чтобы функции работали через все главные браузеры, так, чтобы можно было кодировать к стандартному интерфейсу и забыть о раздражающих различиях между Internet Explorer и всеми другими браузерами.

8
ответ дан Richard Turner 27 November 2019 в 01:03
поделиться

Ну, как много людей всегда говорит, функциональные работы для обрезки вполне прилично, но если Вы не хотите использовать целую платформу только для выполнения обрезки, может быть полезно смотреть на свою реализацию. Таким образом, здесь это:

function( text ) { return (text || "").replace( /^(\s|\u00A0)+|(\s|\u00A0)+$/g, "" );}

основные преимущества я вижу в этой реализации, по сравнению с другим решением, уже предложенным здесь:

  • флаг 'g', который позволяет Вам выполнять обрезку на многострочной строке
  • (текст ||"") синтаксис, которые гарантируют, что функция будет всегда работать, даже если аргумент передал, является пустым или неопределенным.
18
ответ дан John Topley 27 November 2019 в 01:03
поделиться

согласно эта страница лучший всесторонний подход

return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');

, Конечно, при использовании jQuery это предоставит Вам оптимизированный метод для обрезки.

31
ответ дан Pat 27 November 2019 в 01:03
поделиться

Самая короткая форма для jQuery:

string = $.trim(string);

Ссылка

41
ответ дан Darryl Hein 27 November 2019 в 01:03
поделиться

I use this.

    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g,"");
    }
1
ответ дан 27 November 2019 в 01:03
поделиться

Use Ariel Flesler's fast trim function:

// Licensed under BSD
function myBestTrim( str ){
 var start = -1,
  end = str.length;
 while( str.charCodeAt(--end) < 33 );
 while( str.charCodeAt(++start) < 33 );
 return str.slice( start, end + 1 );
};

My solution, though, would be this (because the String object in Firefox 3.5 and above already has a trim method):

String.prototype.trim = String.prototype.trim || function () {
    var start = -1,
        end   = this.length;

    while( this.charCodeAt(--end) < 33 );
    while( this.charCodeAt(++start) < 33 );

    return this.slice( start, end + 1 );
};
5
ответ дан 27 November 2019 в 01:03
поделиться

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

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

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

        code example: 

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

        trim(" a  b") //ab
0
ответ дан 27 November 2019 в 01:03
поделиться

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

function trim(str) {
    try {
        if (str && typeof(str) == 'string') {
            return str.replace(/^\s*|\s*$/g, "");
        } else {
            return '';
        }
    } catch (e) {
        return str;
    }
}
0
ответ дан 27 November 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: