Format lowercased string to capitalize the begining of each sentence
我有一根绳子
我想用这种方式将字符串小写,以使每个句子的第一个字母大写。
例如:
1 | string = string.toLowerCase().capitalize(); |
只有第一句话是大写的。
我有
string.prototype.capitalize=function()。{返回this.charat(0).touppercase()+this.slice(1);}
功能
有人知道怎么解决吗?
如果只想将每个句子的第一个单词(而不是每个单词)大写,则使用此函数:
1 2 3 4 5 | function applySentenceCase(str) { return str.replace(/.+?[\.\?\!](\s|$)/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); } |
JSFiddle在这里
如果你想保留句子的其余部分的格式,只需将第一个字母大写,就可以将
试试这个
1 2 3 4 5 6 7 | function toTitleCase(str) { return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); } alert(toTitleCase('FIRST SENTENCE. SECOND SENTENCE.')) |
imoB
参考
这个JS函数将把句子大小写应用到初始句子和以结尾的句子后面的任何句子。?!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function applySentenceCase(str) { var txt = str.split(/(.+?[\.\?\!](\s|$))/g); for (i = 0; i < (txt.length-1); i++) { if (txt[i].length>1){ txt[i]=txt[i].charAt(0).toUpperCase() + txt[i].substr(1).toLowerCase(); } else if (txt[i].length==1) { txt[i]=txt[i].charAt(0).toUpperCase(); } } txt = txt.join('').replace(/\s\s/g,' '); return txt; } alert(applySentenceCase("LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT. sed congue hendrerit risus, ac viverra magna elementum in. InTeRdUm Et MaLeSuAdA fAmEs Ac AnTe IpSuM pRiMiS iN fAuCiBuS. phasellus EST purus, COMMODO vitae IMPERDIET eget, ORNARE quis ELIT.")); |
我想这个对你有用
1 | asd |
JavaScript
1 2 3 4 5 6 7 8 9 10 | function capitaliseFirstLetter(string) { var array = string.split(""); for(i=0;i<array.length;i++){ var n = array[i]; var a = n.charAt(0).toUpperCase() + n.slice(1); alert(a); } } |
访问:http://jsfiddle.net/rvnfu/