2016-12-22 11 views
0

Для изготовления 1-й буквы любого слова в верхнем регистре, я использую ниже -Как сделать первую букву слова с умлаутом в верхнем случае с помощью Javascript?

var HVal = "SchON"; 
    HVal.toLowerCase().replace(/\b[a-z]/g,function(f){return f.toUpperCase();}); 

Я получаю правильный вывод здесь как «Schon». Тем не менее, этот код не работает, если моя строка содержит гласную umlaut, например. HVal = "SchÖN". вывод здесь «SchöN». Как я могу сделать эту работу для строк, содержащих буквы umlaut?

+0

Ответ может быть как 'вар HVal = "Schon"; HVal.toLowerCase(). Replace (/ \ b [az]/g, function (f) {return f.toUpperCase();}); ' –

+0

" Примечание: механизм регулярного выражения JavaScript определяет определенный набор символов «Слово». Любой символ, не входящий в этот набор, считается сломанным словом. Этот набор символов довольно ограничен: он состоит исключительно из латинского алфавита как в верхнем, так и в нижнем регистре, десятичных разрядах и символе подчеркивания. К сожалению, символы, такие как «é» или «ü», рассматриваются как перерывы слов (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) ». –

+0

Почему бы не ['_.capitalize (HVal)'] (https://lodash.com/docs/4.17.2#capitalize)? –

ответ

2

Решение

var HVal = "SchÖN dasdNdsad"; HVal.toLowerCase().replace(/(^[a-z])|(\s[a-z])/g,function(f){return f.toUpperCase();});

+0

Вы пробовали это решение? –

+0

Спасибо Киран, это работает !! – aks

+0

Не упоминайте, пожалуйста, примите ответ! –

0

Использование может что-то вроде этого

var HVal = "SchÖN"; 
 
HVal=capitalize(HVal); 
 
alert(HVal); 
 

 
function capitalize(string) { 
 
    return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase(); 
 
}

Смежные вопросы