JavaScript中变音符号的标题大小写(非ASCII)
是否可以创建一个JavaScript函数,该函数可以将字符串转换为标题大小写,但不能使用非ASCII(Unicode)字符?例如,使用以下字符:JavaScript中变音符号的标题大小写(非ASCII),javascript,case,title,Javascript,Case,Title,是否可以创建一个JavaScript函数,该函数可以将字符串转换为标题大小写,但不能使用非ASCII(Unicode)字符?例如,使用以下字符: Áá Àà Ăă Ắắ Ằằ Ẵẵ Ẳẳ Ââ Ấấ Ầầ Ẫẫ Ẩẩ Ǎǎ Åå Ǻǻ Ää Ǟǟ Ãã Éé Èè Ĕĕ Êê Ếế Ềề Ễễ Ểể Ěě Ëë Ẽẽ Ėė Ȩȩ Ḝḝ Ęę Ēē Ḗḗ Ḕḕ etc. 例如,如果字符串是“andersångström”,则应将
Áá Àà Ăă Ắắ Ằằ Ẵẵ Ẳẳ Ââ Ấấ Ầầ Ẫẫ Ẩẩ Ǎǎ Åå Ǻǻ Ää Ǟǟ Ãã
Éé Èè Ĕĕ Êê Ếế Ềề Ễễ Ểể Ěě Ëë Ẽẽ Ėė Ȩȩ Ḝḝ Ęę Ēē Ḗḗ Ḕḕ
etc.
例如,如果字符串是“andersångström”,则应将其转换为“andersångström”。
它将转换为“AndersåNgström”的脚本Javascript的内置转换是支持Unicode的,例如
“å”.toUpperCase()
返回“Å”
。所以我不确定你的“现有脚本”做错了什么
但是,如果您需要完全支持Unicode的大小写转换(或其他Unicode支持),您可能需要查看 Javascript的内置转换支持Unicode,例如
“å”.toUpperCase()
返回“Å”
。所以我不确定你的“现有脚本”做错了什么
但是,如果您需要完全支持Unicode的大小写转换(或其他Unicode支持),您可能需要查看 试试这个:
var str = 'anders ångström';
str = str.replace(/[^\s]+/g, function(word) {
return word.replace(/^./, function(first) {
return first.toUpperCase();
});
});
console.log(str); //=> "Anders Ångström"
试试这个:
var str = 'anders ångström';
str = str.replace(/[^\s]+/g, function(word) {
return word.replace(/^./, function(first) {
return first.toUpperCase();
});
});
console.log(str); //=> "Anders Ångström"
'å'.toUpperCase()
对我有用…是的,toUpperCase()对我也有用,但Title-Case函数对以“å”开头的单词不起作用,因为JavaScript无法将其正确地包含在“整个单词”中(\w)哦,我明白了,检查我的答案,在没有\w
'
对我有用…是的,toUpperCase()对我也有用,但Title-Case函数对以“å”开头的单词不起作用,因为JavaScript无法将其正确地包含在“整个单词”中(\w)哦,我明白了,检查我的答案,它仍然可以在没有\w
的情况下完成。谢谢。无论如何,我需要一个Title-Case函数(上面链接中的toTitleCase()的更好版本),它也可以用于非ASCII。Title-Case函数是大写和整词匹配函数的组合。谢谢。无论如何,我需要一个Title-Case函数(上面链接中的toTitleCase()的更好版本),它也可以用于非ASCII。Title-Case函数是大写和整词匹配函数的组合。抱歉,我刚刚注意到它不适用于包含破折号(“-”)的名称,例如“luise meyer schützmeister”。它将把它变成“路易斯·梅耶·舒茨迈斯特”。有没有可能改进它?要支持破折号和单引号,请将/[^\s]+/g更改为/[^-'\s]+/g。我刚刚注意到它不适用于包含破折号(“-”)的名称,例如“luise meyer schützmeister”。它将把它变成“路易斯·梅耶·舒茨迈斯特”。有没有可能改进它?要支持破折号和单引号,请将/[^\s]+/g更改为/[^-'\s]+/g