我知道AngularJS中有一个大写的过滤器,但是我想创建一个函数来仅使用全名的首字母大写,但有一些限制。介词(“da,de,di,do,du,das,des,dis,dos,dus”)应为小写。
例如:
有没有一种有效的方法可以做到这一点?
答案 0 :(得分:3)
您可以为此制作自定义过滤器:
.filter("name", function() {
var ignoreWords = ["da", "de", "di", "do", "du", "das", "des", "dis", "dos", "dus"]
return function(name) {
return name.split(" ").map(function(word) {
if (ignoreWords.indexOf(word.toLowerCase()) > -1) {
return word[0].toLowerCase() + word.substr(1);
} else {
return word[0].toUpperCase() + word.substr(1);
}
}).join(" ")
}
});