如何将JavaScript字符串值转换为全部小写字母?
示例:“您的名字”改为“您的名字”
请注意,该函数仅适用于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()函数运行正常 .
var lowerCaseName = "Your Name".toLowerCase();
使用String对象的toLowerCase或toLocaleLowerCase方法 . 区别在于 toLocaleLowerCase 将考虑用户/主机的当前区域设置 . 根据ECMAScript Language Specification (ECMA-262)的§15.5.4.17, toLocaleLowerCase ......
toLocaleLowerCase
...与toLowerCase完全相同,不同之处在于其结果旨在为主机环境的当前语言环境生成正确的结果,而不是与语言环境无关的结果 . 只有少数情况(例如土耳其语)存在差异,其中该语言的规则与常规Unicode案例映射冲突 .
例:
var lower = 'Your Name'.toLowerCase();
另请注意, toLowerCase 和 toLocaleLowerCase 函数实现为在任何值类型上一般工作 . 因此,即使在非 String 对象上也可以调用这些函数 . 这样做意味着在更改结果字符串值中每个字符的大小写之前自动转换为字符串值 . 例如,您可以直接在以下日期应用 toLowerCase :
toLowerCase
String
var lower = String.prototype.toLowerCase.apply(new Date());
这实际上相当于:
var lower = new Date().toString().toLowerCase();
第二种形式通常是优选的,因为它的简单性和可读性 . 在IE的早期版本中,第一个版本的好处是可以使用 null 值 . 在 null 上应用 toLowerCase 或 toLocaleLowerCase 的结果将产生 null (而不是错误条件) .
null
Opt 1 : using toLowerCase();
var x = "ABC"; x=x.toLowerCase();
Opt 2 : Using your own function
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);
是的,JavaScript中的任何字符串都有一个 toLowerCase() 方法,该方法将返回一个新字符串,该字符串是全部小写的旧字符串 . 旧字符串将保持不变 .
toLowerCase()
所以,你可以这样做:
"Foo".toLowerCase(); document.getElementById('myField').value.toLowerCase();
例
<script type="text/javascript"> var yourstring = 'Your Name' var lowercase = yourstring.toLowerCase(); document.write('original string:<b> ' + yourstring + '</b><br>'); document.write('converted sting <b>' + lowercase + '</b>'); </script>
试试
http://htmledit.squarefree.com/
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 documentation中,它表示“字符串中的字符转换为...,同时尊重当前的语言环境 .
对于大多数语言,这将返回相同的...“ .
我认为它对土耳其语有效,它没有区别,它配置为en或tr .
在土耳其语中,它应该将“DİNÇ”转换为“dinç”和“DINÇ”转换为“dınç”,反之亦然 .
我注意到许多人在JavaScript中都是looking . 他们期望与其他语言具有相同的功能名称,这就是为什么这篇文章就在这里 .
我建议使用native Javascript函数
"SomE StriNg".toLowerCase()
这里的函数与PHP的函数完全相同(对于那些将PHP代码移植到js中的人)
function strToLower (str) { return String(str).toLowerCase(); }
方法或功能:toLowerCase(),toUpperCase()
说明:这些方法用于覆盖从小写字母到大写字母的字符串或字母表,反之亦然 . 例如:“和”到“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() method converts any string to "UPPER" case letters. toLowerCase() method converts any string to "lower" case letters.
只需使用JS toLowerCase()let v = "Your Name" let u = v.toLowerCase(); 或let u = "Your Name".toLowerCase();
let v = "Your Name" let u = v.toLowerCase();
let u = "Your Name".toLowerCase();
尝试
<input type="text" style="text-transform: uppercase"> //uppercase <input type="text" style="text-transform: lowercase"> //lowercase
Demo - JSFiddle
11 回答
请注意,该函数仅适用于STRING对象 .
例如,我正在使用插件,并且很困惑为什么我得到“extension.tolowercase不是函数”JS错误 .
哪个产生错误“extension.toLowerCase不是函数”所以我尝试了这段代码,揭示了这个问题!
输出是“(typeof extension)=> object <=” - 所以AhHa,我没有得到输入的字符串var . 虽然修复是直截了当的 - 只需将darn强制转换为String!:
在强制转换后,extension.toLowerCase()函数运行正常 .
使用String对象的toLowerCase或toLocaleLowerCase方法 . 区别在于
toLocaleLowerCase
将考虑用户/主机的当前区域设置 . 根据ECMAScript Language Specification (ECMA-262)的§15.5.4.17,toLocaleLowerCase
......例:
另请注意,
toLowerCase
和toLocaleLowerCase
函数实现为在任何值类型上一般工作 . 因此,即使在非String
对象上也可以调用这些函数 . 这样做意味着在更改结果字符串值中每个字符的大小写之前自动转换为字符串值 . 例如,您可以直接在以下日期应用toLowerCase
:这实际上相当于:
第二种形式通常是优选的,因为它的简单性和可读性 . 在IE的早期版本中,第一个版本的好处是可以使用
null
值 . 在null
上应用toLowerCase
或toLocaleLowerCase
的结果将产生null
(而不是错误条件) .Opt 1 : using toLowerCase();
Opt 2 : Using your own function
称之为:
是的,JavaScript中的任何字符串都有一个
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 documentation中,它表示“字符串中的字符转换为...,同时尊重当前的语言环境 .
对于大多数语言,这将返回相同的...“ .
我认为它对土耳其语有效,它没有区别,它配置为en或tr .
在土耳其语中,它应该将“DİNÇ”转换为“dinç”和“DINÇ”转换为“dınç”,反之亦然 .
我注意到许多人在JavaScript中都是looking . 他们期望与其他语言具有相同的功能名称,这就是为什么这篇文章就在这里 .
我建议使用native Javascript函数
"SomE StriNg".toLowerCase()
这里的函数与PHP的函数完全相同(对于那些将PHP代码移植到js中的人)
方法或功能:toLowerCase(),toUpperCase()
说明:这些方法用于覆盖从小写字母到大写字母的字符串或字母表,反之亦然 . 例如:“和”到“AND” .
转换为大写: - 示例代码: -
结果:测试案例转换方法
转换为小写: - 示例代码:
结果:测试小写转换功能
说明:在上面的例子中,
只需使用JS
toLowerCase()
let v = "Your Name" let u = v.toLowerCase();
或let u = "Your Name".toLowerCase();
尝试
Demo - JSFiddle