2016-10-03 72 views
0

我使用这个函数来大写单词的第一个字母串为字符串中的每个单词首字母大写。本地化问题

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

它非常适用英文单词,但是当我试图用非英文首字母输入我的话,这让前两个在字母为大写

输入字符串: “桑尼乌法”
输出字符串: “桑尼乌法”

我只是想利用的第一封信。

感谢。

+0

可能重复的[正则表达式 - 什么是正则表达式匹配外来字符?](http://stackoverflow.com/questions/3009993/regex-what-would-be-regex-for -matching-foreign-characters) – NicolasMoise

回答

1

正则表达式是什么导致的问题,它不是选择第一个字符,如果它是一个特殊字符,将其更改为\S+,它会按需要工作。这是一个jsfiddle与它的工作

+0

非常感谢。很有用 –

相关问题