如何将JavaScript字符串值转换为所有小写字母?
例如:从"Your Name"到"Your Name"
1 | var lowerCaseName ="Your Name".toLowerCase(); |
使用字符串对象的toLowerCase或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(); |
还请注意,
1 | var lower = String.prototype.toLowerCase.apply(new Date()); |
实际上等于:
1 | var lower = new Date().toString().toLowerCase(); |
第二种形式通常是首选的,因为它的简单性和可读性。在IE的早期版本中,第一个版本的优点是它可以使用
是的,JavaScript中的任何字符串都有一个
所以,你可以这样做:
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?",反之亦然。
只是一个例子为
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中寻找
我建议使用原生Javascript函数
下面这个函数的行为与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
let u = v.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 && 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