簡體   English   中英

如何修剪()angularjs中的字符串?

[英]How do I trim() a string in angularjs?

有特定角度的方式嗎? 如果沒有,我應該使用內置的jquery來做嗎? 如果我應該使用內置的jquery如何在不使用$(或必要)的情況下使用trim()函數?

編輯 - 是的我知道str.trim()。 抱歉。 我需要這個在IE 8中工作

編輯 - 至於這個問題是重復的,我特別詢問如何在角度中執行此操作,其中引用的答案解釋了如何在javascript,node和jquery中執行此操作。 有沒有辦法使用角度內置的jquery來做到這一點?

編輯 - 顯然答案是“AngularJS不這樣做”

你為什么不簡單地使用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, ''); 
  }
}

在這里找到它

如果您只需要顯示修剪后的值,那么我建議不要操縱原始字符串並使用過濾器

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's not going to work in IE<9
    };
});

然后

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

在所有angularjs也是一個javascript框架之后使用javascript的trim()方法並且沒有必要把$應用於trim()

例如

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

我在我的標簽中插入此代碼,它可以正常工作:

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

基本上支持JS .trim(),IE 8及以下版本除外。

如果你希望它可以使用它,那么,你可以使用JQuery,但它需要<2.0.0(因為它們在2.xx行中刪除了對IE8的支持)。

你的另一個選擇,如果你關心IE7 / 8(如前所述),就是自己添加修剪:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM