转换JavaScript字符串为全小写?

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

例如:从"Your Name"到"Your Name"


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


使用字符串对象的toLowerCase或toLocaleLowerCase方法。不同之处在于toLocaleLowerCase将考虑用户/主机的当前语言环境。根据ECMAScript语言规范(ECMA-262)第15.5.4.17节,toLocaleLowerCase

…works exactly the same as toLowerCase
except that its result is intended to
yield the correct result for the host
environment’s current locale, rather
than a locale-independent result.
There will only be a difference in the
few cases (such as Turkish) where the
rules for that language conflict with
the regular Unicode case mappings.

例子:

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

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

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

实际上等于:

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

第二种形式通常是首选的,因为它的简单性和可读性。在IE的早期版本中,第一个版本的优点是它可以使用null值工作。对null应用toLowerCasetoLocaleLowerCase的结果将生成null(而不是错误条件)。


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

所以,你可以这样做:

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

toLocaleUpperCase()或小写函数的行为不像它们应该做的那样。

例如在我的系统中,Safari 4, Chrome 4 Beta版,Firefox 3.5。它不正确地转换带有土耳其字符的字符串。

浏览器响应导航器。语言分别为"en-US"、"tr"、"en-US"。

但据我所知,没有办法在浏览器中获得用户的Accept-Lang设置。

只有Chrome给我带来了麻烦,尽管我已经将每个浏览器配置为tr-TR locale首选。

我认为这些设置只影响HTTP header,但是我们不能通过JS访问这些设置。

Mozilla文档中写道:"字符串中的字符被转换成……同时考虑当前区域设置。

对于大多数语言,这将返回相同的…"。

我认为它对土耳其语是有效的,它没有区别,它被配置为en或tr。

在土耳其语中,应该将"D?N?"转换为"din?",将"din?"转换为"D?N?",反之亦然。


只是一个例子为toLowerCase()toUpperCase()和原型尚未可用的toTitleCase()toPropperCase()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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中的人来说)

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


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

描述:这些方法用于覆盖从小写到大写的字符串或字母表,反之亦然。e。旅客:"and" to"and"。

转换为大写字母:示例代码:

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

结果:测试用例转换方法

转换成小写:-示例代码:

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

结果:测试小写转换函数

说明:在上面的例子中,

1
2
toUpperCase() method converts any string to"UPPER" case letters.
toLowerCase() method converts any string to"lower" case letters.

注意,该函数只对字符串对象有效。

例如,我正在使用一个插件,并对为什么会得到a感到困惑"扩展。tolowercase不是一个函数"JS错误"。

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

这就产生了错误"扩展"。toLowerCase不是一个函数所以我尝试了这段代码,它揭示了问题!

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

输出是"(typeof extension)=>object<=" -所以,啊哈,我没有得到一个字符串var作为我的输入。修复是直接向前的-只是强迫一个该死的东西成一个字符串!

1
var extension = String(extension);

转换之后,extension.toLowerCase()函数工作得很好。


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


选择1:使用toLowerCase();

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

选择2:使用您自己的函数

1
2
3
4
5
6
7
8
9
10
11
12
13
 function convertToLowerCase(str) {
      var result = ''

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

称它为:

1
x= convertToLowerCase(x);

试一试

1
2
<input type="text" style="text-transform: uppercase">  //uppercase
<input type="text" style="text-transform: lowercase">  //lowercase

演示——JSFiddle