Подтвердить что ты не робот

Как отрегулировать() строку в angularjs?

Существует ли angular конкретный способ? Если нет, следует ли использовать встроенный jquery для этого? Если я должен использовать встроенный jquery, как мне добраться до функции trim(), не используя $(или это необходимо)?

Изменить - Да, я знаю о str.trim(). Сожалею. Мне нужно это для работы в IE 8

Изменить. Поскольку этот вопрос является дубликатом, я спрашиваю конкретно, как это сделать в angular, где в ответе на этот вопрос объясняется, как это сделать в javascript, node и jquery. Есть ли способ сделать это, используя встроенный jquery в angular?

Изменить - По-видимому, ответ: "AngularJS этого не делает"

4b9b3361

Ответ 1

Почему бы вам просто не использовать JavaScript trim():

str.trim() //Will work everywhere irrespective of any framework.

Для совместимости с <IE9 используйте:

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

Нашел здесь

Ответ 2

Если вам нужно только отобразить обрезанное значение, я бы предложил не манипулировать исходной строкой и вместо этого использовать filter.

app.filter('trim', function () {
    return function(value) {
        if(!angular.isString(value)) {
            return value;
        }  
        return value.replace(/^\s+|\s+$/g, ''); // you could use .trim, but it not going to work in IE<9
    };
});

И затем

<span>{{ foo | trim }}</span>

Ответ 3

используйте метод trim() для javascript после того, как все angularjs также являются фреймворком javascript, и нет необходимости помещать $для применения trim()

например

var x="hello world";
x=x.trim()

Ответ 4

Я вставляю этот код в свой тег, и он работает правильно:

ng-show="!Contract.BuyerName.trim()" >

Ответ 5

JS. trim() поддерживается в основном все, кроме IE 8 и ниже.

Если вы хотите, чтобы он работал с этим, вы можете использовать JQuery, но он должен быть < 2.0.0 (поскольку они удалили поддержку IE8 в строке 2.x.x).

Другой вариант, если вы беспокоитесь о IE7/8 (как вы упомянули ранее), нужно добавить триммер самостоятельно:

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