javascript - 将字符串的每个单词的首字母大写
天蓬老师
天蓬老师 2017-04-11 13:01:18
[JavaScript讨论组]
function titleCase(str) {
  r=[];
  s=str.toLowerCase().split(' ');
  s.map(function(x){
    t1=x[0].toUpperCase();
    t2=x.substr(1);
    return r.push(t1+t2);
    });
  return r.join(' ');
}
titleCase('i aM heRe');

结果  I Am Here

感觉代码不优雅,太罗嗦,可否帮忙进化一下?
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(7)
高洛峰

用正则实现:

function titleCase(str) {
   return str.toLowerCase().replace(/(?:^|\s)[a-z]/g, function (s) {
      return s.toUpperCase();
   });
};
titleCase('i aM heRe');

几个常用正则

PHP中文网

这样最简洁了吧~

"i aM heRe".toLowerCase().replace(/\b[a-z]/g,function(c){return c.toUpperCase()})
"I Am Here"

ES6
"i aM heRe".toLowerCase().replace(/\b[a-z]/g,c => c.toUpperCase())

Your environment has been set up for using Node.js 4.4.4 (ia32) and npm.

C:\Documents and Settings\Administrator>node
> "i aM heRe".toLowerCase().replace(/\b[a-z]/g,c => c.toUpperCase())
'I Am Here'
>
伊谢尔伦

function upper(str){
return str.toLowerCase().replace(/\b[a-z]/g,function(v){return v.toUpperCase();});
}
upper('miao zui meng');
(ฅ>ω<*ฅ) 正则也可以替换成 /( |^)/g

PHP中文网
'i aM heRe'.split(' ').map(function(v, i, res) {return (res = '') || (res += v[0].toUpperCase()) && (res += v.substr(1).toLowerCase()) && res});

其实我感觉这个用正则应该简单很多,无奈我不熟悉正则,等待其他人补充。

阿神

http://stackoverflow.com/ques...

巴扎黑

css:

text-transform: capitalize;

regex:

"i aM heRe".toUpperCase().replace(/(\s+\w|\w)(\w+)/g, function(s,s1,s2){return s1 + s2.toLowerCase()})
怪我咯
function toUpperCaseForInitial(str) { 
  return str.split(' ').map(function (item) {
    var initial = item[0];
    return item.replace(initial, initial.toUpperCase());
  }).join(' ');
}

console.log(toUpperCaseForInitial('hello world!'));
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号