有没有一种简单的方法可以将字符串转换为标题大小写?例如,john smith变成了John Smith。我不是在寻找像John Resig's solution这样复杂的东西,只是(希望)某种一两行代码。
发布于 2008-10-13 08:18:27
试试这个:
function toTitleCase(str) {
return str.replace(
/\w\S*/g,
function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
);
}<form>
Input:
<br /><textarea name="input" onchange="form.output.value=toTitleCase(this.value)" onkeyup="form.output.value=toTitleCase(this.value)"></textarea>
<br />Output:
<br /><textarea name="output" readonly onclick="select(this)"></textarea>
</form>
发布于 2010-06-16 22:58:44
如果CSS解决方案满足您的需要,则可以将text-transform CSS样式应用于控件:
text-transform: capitalize;请注意,这将转变为:
hello world到Hello World
HELLO WORLD到HELLO WORLD (不变)
emily-jane o'brien到Emily-jane O'brien (不正确)
Maria von Trapp到Maria Von Trapp (不正确)
发布于 2011-04-07 08:14:50
一种稍微优雅的方式,采用Greg Dean的函数:
String.prototype.toProperCase = function () {
return this.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
};它的名称如下:
"pascal".toProperCase();https://stackoverflow.com/questions/196972
复制相似问题