如何将JavaScript字符串值转换为小写字母?
例子:从“Your Name”到“Your Name”
如何将JavaScript字符串值转换为小写字母?
例子:从“Your Name”到“Your Name”
当前回答
注意,该函数只对字符串对象有效。
例如,我正在使用一个插件,我很困惑为什么我得到了一个“扩展”。tolowercase不是一个函数”JavaScript错误。
onChange: function(file, extension)
{
alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");
产生错误“扩展”。toLowerCase不是一个函数”。所以我尝试了这段代码,它揭示了问题!
alert("(typeof extension)=>" + (typeof extension) + "<=");;
输出是“(typeof extension)=>object<=”-所以啊哈,我没有得到一个字符串变量为我的输入。修复是直截了当的-只是迫使一个该死的东西变成一个字符串!:
var extension = String(extension);
强制转换之后,extension.toLowerCase()函数工作正常。
其他回答
使用String对象的toLowerCase或toLocaleLowerCase方法。不同之处在于toLocaleLowerCase将考虑用户/主机的当前语言环境。根据ECMAScript语言规范(ECMA-262)的§15.5.4.17,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(而不是错误条件)。
Try
<input type="text" style="text-transform: uppercase"> <!-- uppercase -->
<input type="text" style="text-transform: lowercase"> <!-- lowercase -->
演示 - JSFiddle
我注意到很多人在JavaScript中寻找strtolower()。他们希望函数名与其他语言相同,这就是为什么这篇文章在这里。
我建议使用原生JavaScript函数:
“一些字符串“.toLowerCase ()
下面的函数与PHP函数的行为完全相同(适用于那些将PHP代码移植到JavaScript的人)
function strToLower (str) {
return String(str).toLowerCase();
}
注意,该函数只对字符串对象有效。
例如,我正在使用一个插件,我很困惑为什么我得到了一个“扩展”。tolowercase不是一个函数”JavaScript错误。
onChange: function(file, extension)
{
alert("extension.toLowerCase()=>" + extension.toLowerCase() + "<=");
产生错误“扩展”。toLowerCase不是一个函数”。所以我尝试了这段代码,它揭示了问题!
alert("(typeof extension)=>" + (typeof extension) + "<=");;
输出是“(typeof extension)=>object<=”-所以啊哈,我没有得到一个字符串变量为我的输入。修复是直截了当的-只是迫使一个该死的东西变成一个字符串!:
var extension = String(extension);
强制转换之后,extension.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);