Изменить и узнать регистр символа js

384
08 августа 2017, 17:47

Здравствуйте, есть символ

var symb = 'к';

Вопрос 1: Как узнать какой регистр (верхний/нижний) Вопрос 2: Как повысить/понизить регистр символа (было 'к', стало 'К'). Я мог бы написать функцию с двумя массивами и заменой по индексу, но это будет не совсем корректно на мой взгляд. Можно ли осуществить это другим способом?

Answer 1
toUpperCase / toLowerCase

Для смены регистра

var k = "f";
k.toUpperCase();
//"F"
k.toUpperCase() == k
//false
Answer 2

Узнать регистр символа

console.log('к' == 'к'.toUpperCase() ? 'Прописная' : 'Строчная'); 
console.log('K' == 'K'.toUpperCase() ? 'Прописная' : 'Строчная');

Преобразование строк в верхний и нижний регистр соответственно

console.log('к'.toUpperCase()); // Преобразование строки в верхний регистр 
console.log('K'.toLowerCase()); // Преобразование строки в нижний регистр

Но возможна ситуация, когда символ — число.

Тогда нужно будет делать дополнительную проверку.

var char = 6; // или '5' 
 
if (isNaN(char * 1)) { 
  console.log(char == char.toUpperCase() ? 'Прописная' : 'Строчная'); 
} else { 
  console.log('Число'); 
}

Для «нестандартных» локалей, типа турецкой смотрите в сторону методов toLocaleLowerCase() и toLocaleUpperCase()

Answer 3

если по одному символу проверять то думаю подойдет и такое:

var symb = 'к', 
    symbUpper = 'K', 
    test = 'L'; 
function whatRegist(char){ 
  if(char === char.toUpperCase()) return 'UpperRegist'; 
  else return 'LowerRegist'; 
} 
console.log(whatRegist(symb)); 
console.log(whatRegist(symbUpper)); 
console.log(whatRegist(test));

READ ALSO
Не считает сумму в массиве [требует правки]

Не считает сумму в массиве [требует правки]

Выдаёт 2 errorа в консолиВ чём ошибка? P

287
Как мокнуть компонент

Как мокнуть компонент

В общем есть компонент на angular4 написал для него тест замокал сервисы, все было норм, теперь добавляю внутри этого компонента вызов другого

432
Грамотный onUnLoad

Грамотный onUnLoad

Событие onUnLoad возникает если пользователь покидает страницуНо к сожалению это поддерживается не во всех браузерах

243
Выведение информационного сообщения

Выведение информационного сообщения

Как вывести информационное сообщение после отправки формы заказа на сервер? Возможно ли это средствами WooCommerce

294