我正在使用此函数将字符串中单词的第一个字母大写
function capitalizeFirstLetter(str) {
return str.replace(/\w\S*/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
}
它适用于英语单词,但当我尝试用非英语首字母输入单词时,它会使前两个字母变为大写
Input string : "şanlıurfa"
Output string : "ŞAnlıurfa"
我只想将第一个字母大写。
谢谢。
最佳答案
正则表达式是导致问题的原因,如果它是特殊字符,它不会选择第一个字符,将其更改为 \S+
,它将根据您的需要工作。这是jsfiddle让它工作
关于javascript - 将字符串中每个单词的首字母大写。本地化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39837527/