将 JavaScript 字符串全部转换为小写吗?

如何将 JavaScript 字符串值转换为所有小写字母?

示例:从 “您的名字” 到 “您的名字”

答案

var lowerCaseName = "Your Name".toLowerCase();

使用String对象的toLowerCasetoLocaleLowerCase方法。区别在于toLocaleLowerCase将考虑用户 / 主机的当前语言环境。根据ECMAScript 语言规范(ECMA-262)第 15.5.4.17 条, toLocaleLowerCase

… 的工作原理与 toLowerCase 完全相同,除了它的结果旨在针对主机环境的当前语言环境(而不是与语言环境无关的结果)产生正确的结果。在少数情况下(例如土耳其语),该语言的规则与常规 Unicode 大小写映射会有所不同。

例:

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

还要注意, toLowerCasetoLocaleLowerCase函数被实现为可在任何值类型上通用。因此,即使在非String对象上,您也可以调用这些函数。这样做将意味着在更改结果字符串值中每个字符的大小写之前,将自动转换为字符串值。例如,您可以在这样的日期直接 toLowerCase 申请

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

实际上等效于:

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

由于其简单性和可读性,通常优选第二种形式。在早期版本的 IE 上,第一个版本的好处是可以使用null值。在null上应用toLowerCasetoLocaleLowerCase的结果将产生null (并且不是错误条件)。

是的,JavaScript 中的任何字符串都具有toLowerCase()方法,该方法将返回一个新的字符串,该字符串是所有小写形式的旧字符串。旧字符串将保持不变。

因此,您可以执行以下操作:

"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();

toLocaleUpperCase()或小写函数的行为与应有的行为不同。

例如,在我的系统 Safari 4,Chrome 4 Beta,Firefox 3.5.x 中,它错误地转换了带有土耳其字符的字符串。

浏览器分别对 navigator.language 响应为 “en-US”,“tr” 和 “en-US”。

但是,据我所知,无法在浏览器中获取用户的 Accept-Lang 设置。

尽管我已将每个浏览器都配置为首选 tr-TR 语言环境,但只有 Chrome 给我带来麻烦。

我认为这些设置只会影响 HTTP 标头,但我们无法通过 JS 访问这些设置。

Mozilla 文档中,它说:“在遵守当前语言环境的同时,字符串中的字符会转换为...。

对于大多数语言,这将返回与...“相同的结果。

我认为这对土耳其语有效,它与配置为 en 或 tr 并无区别。

在土耳其语中,应将 “DİNÇ” 转换为 “dinç”,将 “DINÇ” 转换为 “dınç”,反之亦然。

只是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

我注意到很多人正在 JavaScript 中寻找 strtolower() 。他们期望与其他语言使用相同的函数名称,这就是为什么本文在这里。

我建议使用本机 Javascript 函数

"SomE StriNg".toLowerCase()

这是功能与 PHP 完全相同的函数(对于那些将 PHP 代码移植到 js 中的函数)

function strToLower (str) {
    return String(str).toLowerCase();
}

请注意,该功能仅适用于 STRING 对象。

例如,我正在使用一个插件,并且很困惑为什么我收到 “extension.tolowercase 不是函数” JS 错误。

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

哪个产生了错误 “extension.toLowerCase 不是一个函数”,所以我尝试了这段代码,从而发现了问题!

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

输出为 “(typeof extension)=> object <=”- 因此,啊哈,我的输入没有字符串 var。解决方法很简单 - 只需将该死的东西强制为 String !:

var extension = String(extension);

强制转换后,extension.toLowerCase()函数工作正常。

方法或函数:toLowerCase(),toUpperCase()

说明:这些方法用于将字符串或字母从小写字母转换为大写字母,反之亦然。例如:“and” 到 “AND”。

转换为大写:- 示例代码:-

<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.

选项 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);

只需使用 JS toLowerCase()
let v = "Your Name" let u = v.toLowerCase();要么
let u = "Your Name".toLowerCase();