在JavaScript标题案例变音符号(非ASCII)(Title Case in JavaScri

2019-08-17 06:09发布

是否有可能创建一个JavaScript功能,可以将字符串转换为标题情况,而是一个非ASCII(Unicode)字符的作品? 例如用字符,如:

Áá  Àà  Ăă  Ắắ  Ằằ  Ẵẵ  Ẳẳ  Ââ  Ấấ  Ầầ  Ẫẫ  Ẩẩ  Ǎǎ  Åå  Ǻǻ  Ää  Ǟǟ  Ãã
Éé  Èè  Ĕĕ  Êê  Ếế  Ềề  Ễễ  Ểể  Ěě  Ëë  Ẽẽ  Ėė  Ȩȩ  Ḝḝ  Ęę  Ēē  Ḗḗ  Ḕḕ
etc.

例如,如果字符串是“安德斯·埃”,应该将其转化为“安德斯·埃”。 该脚本已经存在 ,将改造成为“安德斯·埃”。

Answer 1:

试试这个:

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"


Answer 2:

JavaScript的内置转换为Unicode感知的,比如"å".toUpperCase()返回"Å" 。 所以,我不知道你的“现有的脚本”做错了。

但是,如果你需要完整的Unicode感知的大小写转换(或其他的Unicode询问服务),你可能想看看unicode.js 。



文章来源: Title Case in JavaScript for diacritics (non-ASCII)