Конвертировать строку JavaScript в нижний регистр? - PullRequest
1226 голосов
/ 01 октября 2008

Как преобразовать строковое значение JavaScript в строчные буквы?

Пример: от «Вашего имени» до «вашего имени»

Ответы [ 14 ]

1607 голосов
/ 01 октября 2008
var lowerCaseName = "Your Name".toLowerCase();
400 голосов
/ 01 октября 2008

Используйте методы toLowerCase или toLocaleLowerCase объекта String . Разница в том, что toLocaleLowerCase будет учитывать текущую локаль пользователя / хоста. Согласно § 15.5.4.17 спецификации языка ECMAScript (ECMA-262) , toLocaleLowerCase

… работает точно так же, как toLowerCase за исключением того, что его результат предназначен для дать правильный результат для хоста Текущий язык окружающей среды, скорее чем независимый от локали результат. Там будет только разница в несколько случаев (например, турецкий), где правила для этого языка конфликтуют с регулярные сопоставления регистров Unicode.

Пример:

var lower = 'Your Name'.toLowerCase();

Также обратите внимание, что функции toLowerCase и toLocaleLowerCase реализованы для общей работы с любым типом значения . Поэтому вы можете вызывать эти функции даже для не String объектов. Это подразумевает автоматическое преобразование в строковое значение перед изменением регистра каждого символа в результирующем строковом значении. Например, вы можете применить toLowerCase непосредственно к такой дате:

var lower = String.prototype.toLowerCase.apply(new Date());

и который фактически эквивалентен:

var lower = new Date().toString().toLowerCase();

Вторая форма обычно предпочтительнее из-за ее простоты и удобочитаемости. В более ранних версиях IE преимущество было в том, что он мог работать со значением null. Результат применения toLowerCase или toLocaleLowerCase к null даст null (а не условие ошибки).

26 голосов
/ 01 октября 2008

Да, любая строка в JavaScript имеет метод toLowerCase(), который будет возвращать новую строку, которая является старой строкой, в нижнем регистре. Старая строка останется неизменной.

Итак, вы можете сделать что-то вроде:

"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();
19 голосов
/ 05 декабря 2009

Функции toLocaleUpperCase () или строчные буквы ведут себя не так, как должны.

Например, в моей системе Safari 4, Chrome 4 Beta, Firefox 3.5.x он неправильно конвертирует строки с турецкими символами.

Браузеры отвечают на navigator.language как «en-US», «tr», «en-US» соответственно.

Но нет способа получить пользовательскую настройку Accept-Lang в браузере, насколько я мог найти.

Только Chrome доставляет мне неприятности, хотя я настроил каждый браузер как предпочтительный язык tr-TR.

Я думаю, что эти настройки влияют только на заголовок HTTP, но мы не можем получить доступ к этим настройкам через JS.

В документации Mozilla говорится "Символы в строке преобразуются в ... при соблюдении текущей локали.

Для большинства языков это будет возвращаться так же, как ... ".

Я думаю, что он действителен для турецкого языка, он не отличается, он настроен как en или tr.

На турецком языке следует преобразовать «DİNÇ» в «dinç» и «DINÇ» в «dınç» или наоборот.

14 голосов
/ 02 октября 2010

Только примеры для toLowerCase(), toUpperCase() и прототип для еще не доступных toTitleCase() или toPropperCase()

String.prototype.toTitleCase = function() {
  return this.split(' ').map(i => i[0].toUpperCase() + i.substring(1).toLowerCase()).join(' ');
}

String.prototype.toPropperCase = function() {
  return this.toTitleCase();
}

var OriginalCase = 'Your Name';
var lowercase = OriginalCase.toLowerCase();
var upperCase = lowercase.toUpperCase();
var titleCase = upperCase.toTitleCase();

console.log('Original: ' + OriginalCase);
console.log('toLowerCase(): ' + lowercase);
console.log('toUpperCase(): ' + upperCase);
console.log('toTitleCase(): ' + titleCase);

отредактировано 2018

11 голосов
/ 17 сентября 2011

Я обратил внимание, что многие люди ищут для strtolower() в JavaScript. Они ожидают того же имени функции, что и в других языках, поэтому этот пост здесь.

Я бы порекомендовал использовать native Функция Javascript

"SomE StriNg".toLowerCase()

Вот функция, которая ведет себя точно так же, как PHP (для тех, кто переносит код PHP в js)

function strToLower (str) {
    return String(str).toLowerCase();
}
7 голосов
/ 20 июля 2013

Метод или функция: toLowerCase (), toUpperCase ()

Описание: эти методы используются для обозначения строки или алфавита от строчных до прописных букв или наоборот. например: "и" в "И".

Преобразование в верхний регистр: - Пример кода: -

<script language=javascript>
var ss = " testing case conversion method ";
var result = ss.toUpperCase();
document.write(result);
</script>

Результат: ИСПЫТАНИЕ МЕТОДА КОНВЕРСИИ СЛУЧАЯ

Преобразование в нижний регистр: - Пример кода:

<script language=javascript>
var ss = " TESTING LOWERCASE CONVERT FUNCTION ";
var result = ss.toLowerCase();
document.write(result);
</script>

Результат: тестирование функции преобразования строчных букв

Объяснение: в приведенных выше примерах

toUpperCase() method converts any string to "UPPER" case letters.
toLowerCase() method converts any string to "lower" case letters.
7 голосов
/ 27 мая 2012

Обратите внимание, что функция будет работать ТОЛЬКО на объектах STRING.

Например, я принимал плагин и был смущен, почему я получал Ошибка JS «extension.tolowercase не является функцией».

 onChange: function(file, extension)
    {
      alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");

В результате возникла ошибка "extension.toLowerCase не является функцией" Поэтому я попробовал этот кусок кода, который выявил проблему!

alert("(typeof extension)=>" + (typeof extension) + "<=");;

Вывод был "(typeof extension) => object <=" - так что, Ах, я НЕ получал строковую переменную для моего ввода Исправление не вызывает никаких нареканий - просто вставьте проклятую вещь в строку!: </p>

var extension = String(extension);

После приведения, функция extension.toLowerCase () работала нормально.

2 голосов
/ 30 мая 2018

Просто используйте JS toLowerCase()
let v = "Your Name" let u = v.toLowerCase(); или
let u = "Your Name".toLowerCase();

2 голосов
/ 15 сентября 2017

Опция 1: использование toLowerCase ();

var x = "ABC";
x=x.toLowerCase();

Опция 2: использование собственной функции

 function convertToLowerCase(str) {
      var result = ''

      for (var i = 0; i < str.length; i++) {
        var code = str.charCodeAt(i)
        if (code > 64 && code < 91) {
          result += String.fromCharCode(code + 32)
        } else {
          result += str.charAt(i)
        }
      }
      return result
    }

Назовите это как:

x= convertToLowerCase(x);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...