我正在尝试以下解决方案,效果很好,但我有一个额外的要求,我需要从转换中排除首字母缩略词(全部大写的单词)。
String.prototype.capitalize = function(lower) {
return (lower ? this.toLowerCase() : this).replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
};
知道如何做到这一点吗?
最佳答案
这样就可以了:
String.prototype.capitalize = function() {
return this
.replace(/(\w*[a-z0-9_]+\w*)/g, function(a) {
return a.toLowerCase()
}).replace(/(?:^|\s)\S/g, function(a) {
return a.toUpperCase();
});
};
第一部分查找至少有一个非大写字母的单词字符(即首字母缩略词)的所有单词。
关于javascript - 使用Javascript,如何将字符串中的每个单词大写(不包括首字母缩略词)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30039848/