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

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

示例:"Your Name""your name"

522633 次浏览

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

所以,你可以这样做:

"Foo".toLowerCase();document.getElementById('myField').value.toLowerCase();
var lowerCaseName = "Your Name".toLowerCase();

使用String对象的toLowerCase改用小案例方法。不同之处在于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(而不是错误条件)。

toLocaleUpperCase()或小写函数的行为不像它们应该做的那样。例如,在我的系统上,Safari4,Chrome4 Beta和Firefox 3.5. x,它错误地转换了土耳其字符的字符串。浏览器分别响应navigator.language为“en-US”,“tr”,“en-US”。

但是没有任何方法可以在浏览器中获得用户的Accept-Lang设置,据我所知。

只有Chrome给我带来了麻烦,尽管我已经将每个浏览器配置为tr-TR语言环境首选。我认为这些设置只影响HTTP标头,但我们无法通过JavaScript访问这些设置。

Mozilla留档中,它说“字符串中的字符在尊重当前语言环境的情况下被转换为…。对于大多数语言,这将返回与…相同的结果。”我认为这对土耳其语有效,如果配置为英语孩子们,它也没有区别。

在土耳其语中,它应该将“DINC”转换为“dinc”,将“DINC”转换为“DINC”,反之亦然。

仅举一个toLowerCase()toUpperCase()的示例以及尚未可用的toTitleCase()toProperCase()的原型:

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

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

我建议使用本地 JavaScript函数:

"SomE StriNg".toLowerCase()

这是一个与PHP完全相同的函数(对于那些将PHP代码移植到JavaScript中的人)

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

请注意,该函数将只有作用于字符串对象。

例如,我正在使用一个插件,我很困惑为什么会出现“extension.tolowercase不是函数”的JavaScript错误。

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

它产生了错误“extension.toLowerCase不是函数”。所以我尝试了这段代码,它揭示了问题!

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

输出是“(typeof扩展)=>对象<=”-所以啊哈,我是没有为我的输入获取一个字符串var。修复很简单-只需将该死的东西强制转换为字符串!:

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()方法将任何字符串转换为“UPPER”大写字母。

  • toLowerCase()方法将任何字符串转换为“小写”字母。

试试看

<input type="text" style="text-transform: uppercase">  <!-- uppercase --><input type="text" style="text-transform: lowercase">  <!-- lowercase -->

演示-JSFiddle

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

只需使用JStoLowerCase()
让v="你的名字"设u=v.toLowerCase();
let u = "Your Name".toLowerCase();

您可以在JavaScript字符串上使用内置的. toLowerCase()方法。例子:

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

试试这个简短的方法:

var lower = (str+"").toLowerCase();

如果您想自己构建:

function toLowerCase(string) {
let lowerCaseString = "";
for (let i = 0; i < string.length; i++) {// Find ASCII charcodelet charcode = string.charCodeAt(i);
// If uppercaseif (charcode > 64 && charcode < 97) {// Convert to lowercasecharcode = charcode + 32}
// Back to charlet lowercase = String.fromCharCode(charcode);
// AppendlowerCaseString = lowerCaseString.concat(lowercase);}
return lowerCaseString}
const str = 'Your Name';
// convert string to lowercaseconst lowerStr = str.toLowerCase();
// print the new stringconsole.log(lowerStr);