如何将 JavaScript 字符串值转换为全部小写字母?
示例:"Your Name"
到 "your name"
var lowerCaseName = "Your Name".toLowerCase();
使用 String 对象的 toLowerCase 或 toLocaleLowerCase 方法。不同之处在于 toLocaleLowerCase
将考虑用户/主机的当前语言环境。根据 ECMAScript Language Specification (ECMA-262) 第 15.5.4.17 节,toLocaleLowerCase
…
…工作原理与 toLowerCase 完全相同,只是它的结果旨在为主机环境的当前语言环境产生正确的结果,而不是独立于语言环境的结果。只有在该语言的规则与常规 Unicode 大小写映射冲突的少数情况下(例如土耳其语)才会有所不同。
例子:
var lower = 'Your Name'.toLowerCase();
另请注意,toLowerCase
和 toLocaleLowerCase
函数的实现通常适用于 any 值类型。因此,您甚至可以在非 String
对象上调用这些函数。这样做意味着在更改结果字符串值中每个字符的大小写之前自动转换为字符串值。例如,您可以申请 toLowerCase
直接在这样的日期:
var lower = String.prototype.toLowerCase.apply(new Date());
这实际上相当于:
var lower = new Date().toString().toLowerCase();
第二种形式通常是首选,因为它简单易读。在早期版本的 IE 中,第一个版本的好处是它可以使用 null
值。在 null
上应用 toLowerCase
或 toLocaleLowerCase
的结果将产生 null
(而不是错误条件)。
String.prototype.toLowerCase.apply(null)
返回 null
的部分似乎不正确。当我尝试它时,它会引发 TypeError
异常。
是的,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 标头,但我们无法通过 JavaScript 访问这些设置。
在 Mozilla documentation 中它说“字符串中的字符被转换为......同时尊重当前语言环境。对于大多数语言,这将返回与......相同的内容”。我认为它对土耳其语有效,如果它被配置为 en 或 tr 并没有什么不同。
在土耳其语中,它应该将“DİNÇ”转换为“dinç”,将“DINÇ”转换为“dınç”,反之亦然。
Accept-Language
和 navigator.language
是两个完全独立的设置。 Accept-Language
反映了用户对他们希望在网页中接收哪些语言的偏好(不幸的是,JS 无法访问此设置)。 navigator.language
仅反映安装了网络浏览器的本地化版本,一般不应用于任何用途。这两个值都与系统语言环境无关,系统语言环境是决定 toLocaleLowerCase()
做什么的位;这是超出浏览器首选项范围的操作系统级别设置。
只是 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 = '你的名字'; var 小写 = OriginalCase.toLowerCase(); var upperCase = lowercase.toUpperCase(); var titleCase = upperCase.toTitleCase(); console.log('原文:' + OriginalCase); console.log('toLowerCase(): ' + 小写); console.log('toUpperCase(): ' + upperCase); console.log('toTitleCase(): ' + titleCase);
toPropperCase
应该是 toProperCase
我注意到很多人在 JavaScript 中为 strtolower()
are looking。他们期望与其他语言中的函数名称相同,这就是这篇文章在这里的原因。
我建议使用 native JavaScript 函数:
"SomE StriNg".toLowerCase()
这是与 PHP 完全相同的函数(适用于那些将 PHP 代码移植到 JavaScript 中的人)
function strToLower (str) {
return String(str).toLowerCase();
}
方法或函数: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() 方法将任何字符串转换为“大写”字母。
toLowerCase() 方法将任何字符串转换为“小写”字母。
请注意,该函数仅适用于字符串对象。
例如,我正在使用一个插件,并且很困惑为什么会收到“extension.tolowercase is not a function”JavaScript 错误。
onChange: function(file, extension)
{
alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");
这产生了错误“extension.toLowerCase 不是函数”。所以我尝试了这段代码,它揭示了问题!
alert("(typeof extension)=>" + (typeof extension) + "<=");;
输出是 "(typeof extension)=>object<=" - 所以啊哈,我的输入没有得到字符串 var。修复很简单 - 只需将该死的东西强制转换为字符串!:
var extension = String(extension);
演员表之后,extension.toLowerCase() 函数运行良好。
只需使用 JS toLowerCase()
let v = "Your Name" let u = v.toLowerCase();
或
let u = "Your Name".toLowerCase();
选项 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);
const str = 'Your Name';
// convert string to lowercase
const lowerStr = str.toLowerCase();
// print the new string
console.log(lowerStr);
如果您想自己构建它:
function toLowerCase(string) {
let lowerCaseString = "";
for (let i = 0; i < string.length; i++) {
// Find ASCII charcode
let charcode = string.charCodeAt(i);
// If uppercase
if (charcode > 64 && charcode < 97) {
// Convert to lowercase
charcode = charcode + 32
}
// Back to char
let lowercase = String.fromCharCode(charcode);
// Append
lowerCaseString = lowerCaseString.concat(lowercase);
}
return lowerCaseString
}
您可以在 JavaScript 字符串上使用内置的 .toLowerCase() 方法。例子:
var x = "Hello";
x.toLowerCase();
试试这个简短的方法:
var lower = (str+"").toLowerCase();
尝试
<input type="text" style="text-transform: uppercase"> <!-- uppercase -->
<input type="text" style="text-transform: lowercase"> <!-- lowercase -->
toLowerCase()
函数的时间和空间复杂度是多少?toLowerCase()
的更安全的方法是(varName || '').toLowerCase()
;