如何将JavaScript字符串值转换为全部小写字母?
示例:"您的名字"改为"您的名字"
var lowerCaseName = "Your Name".toLowerCase();
使用String对象的toLowerCase或toLocaleLowerCase方法.不同之处在于将考虑用户/主机的当前区域设置.根据ECMAScript语言规范(ECMA-262)的第15.5.4.17节,......toLocaleLowerCase
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
将产生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);
我所许的注意,很多人都在寻找的strtolower()
在JavaScript中.他们期望与其他语言具有相同的功能名称,这就是为什么这篇文章就在这里.
我建议使用原生 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 <=" - 所以AhHa,我没有得到输入的字符串var.虽然修复是直截了当的 - 只需将darn强制转换为String!:
var extension = String(extension);
在强制转换后,extension.toLowerCase()函数运行正常.
方法或功能:toLowerCase(),toUpperCase()
描述:这些方法用于覆盖从小写字母到大写字母的字符串或字母表,反之亦然.例如:"和"到"AND".
转换为大写: - 示例代码: -
结果:测试案例转换方法
转换为小写: - 示例代码:
结果:测试小写转换功能
说明:在上面的例子中,
toUpperCase() method converts any string to "UPPER" case letters. toLowerCase() method converts any string to "lower" case letters.