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

有特定角度的方式吗? 如果没有,我应该使用内置的jquery来做吗? 如果我应该使用内置的jquery如何在不使用$(或必要)的情况下使用trim()函数?

编辑 – 是的我知道str.trim()。 抱歉。 我需要这个在IE 8中工作

编辑 – 至于这个问题是重复的,我特别询问如何在角度中执行此操作,其中引用的答案解释了如何在javascript,node和jquery中执行此操作。 有没有办法使用角度内置的jquery来做到这一点?

编辑 – 显然答案是“AngularJS不这样做”

你为什么不简单地使用JavaScript的trim()

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

为了与兼容使用:

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

在这里找到它

如果您只需要显示修剪后的值,那么我建议不要操纵原始字符串并使用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's not going to work in IE<9 }; }); 

然后

 {{ foo | trim }} 

在所有angularjs也是一个javascript框架之后使用javascript的trim()方法并且没有必要把$应用于trim()

例如

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

我在我的标签中插入此代码,它可以正常工作:

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

除了IE 8及更低版本,基本上支持JS .trim()。

如果你想要它可以使用它,那么,你可以使用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, ''); } }