繁体   English   中英

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

[英]Capitalizing First Letter for each word in string. Localization issue

我正在使用此功能将字符串中的第一个单词大写

function capitalizeFirstLetter(str) {
  return str.replace(/\w\S*/g, function (txt) { 
    return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); 
  });
}

它适用于英语单词,但是当我尝试使用非英语首字母键入单词时,它会将前两个字母变为大写

输入字符串:“şanlıurfa”
输出字符串:“ŞAnlıurfa”

我只想大写第一个字母。

谢谢。

正则表达式是导致此问题的原因,它不是选择第一个字符(如果它是特殊字符),而是将其更改为\\S+根据需要工作。 这是一个工作的jsfiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM