javascript - 将字符串中每个单词的首字母大写。本地化问题

标签 javascript

我正在使用此函数将字符串中单词的第一个字母大写

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/

相关文章:

javascript - 数据中的日期时间格式

javascript - 为什么这个 Express 中间件不带参数调用?

javascript - PaperJS - 如何沿路径移动并沿路径旋转

JavaScript innerHTML 导致 css 在 <button> 上消失

javascript - Nativescript WebView,在 Android 上导航回来时防止重新加载

javascript - 如何向特定 channel 发送消息

javascript - 我们可以将 CSS 动画设置为在前一个子元素动画之后发生吗?

Javascript 函数比普通操作更快

javascript - i18n 翻译在支持 Handlebars 的 Node Express 应用程序中部分工作

javascript - 按键组合对象数组