Ответ 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"
Возможно ли создать функцию JavaScript, которая может преобразовать строку в заголовок, но такую, которая работает с символами, отличными от ASCII (Unicode)? Например, с такими символами, как:
Áá Àà Ăă Ắắ Ằằ Ẵẵ Ẳẳ Ââ Ấấ Ầầ Ẫẫ Ẩẩ Ǎǎ Åå Ǻǻ Ää Ǟǟ Ãã
Éé Èè Ĕĕ Êê Ếế Ềề Ễễ Ểể Ěě Ëë Ẽẽ Ėė Ȩȩ Ḝḝ Ęę Ēē Ḗḗ Ḕḕ
etc.
Например, если строка является "anders ångström", она должна превратить ее в "Anders Ångström". script, который уже существует, он превратится в "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"
Встроенное преобразование Javascript поддерживает Unicode, например "å".toUpperCase()
возвращает "Å"
. Поэтому я не уверен, что ваш "существующий script" делает неправильно.
Если, однако, вам нужно полное преобразование case в формате Unicode (или другое одобрение Unicode), вы можете посмотреть unicode.js,