繁体   English   中英

将 JavaScript 字符串转换为全小写?

[英]Convert JavaScript String to be all lower case?

如何将 JavaScript 字符串值转换为所有小写字母?

示例: "Your Name""your name"

var lowerCaseName = "Your Name".toLowerCase();

使用String对象的toLowerCasetoLocaleLowerCase方法。 不同之处在于toLocaleLowerCase将考虑用户/主机的当前区域设置。 根据ECMAScript 语言规范 (ECMA-262) 的§ 15.5.4.17 , toLocaleLowerCase ...

...与 toLowerCase 的工作原理完全相同,除了它的结果旨在为宿主环境的当前语言环境生成正确的结果,而不是与语言环境无关的结果。 只会在少数情况下(例如土耳其语)有所不同,其中该语言的规则与常规 Unicode 大小写映射冲突。

例子:

var lower = 'Your Name'.toLowerCase();

还要注意toLowerCasetoLocaleLowerCase函数被实现为对任何值类型通用。 因此,您甚至可以在非String对象上调用这些函数。 这样做将意味着在更改结果字符串值中每个字符的大小写之前自动转换为字符串值。 例如,您可以在这样的日期直接应用toLowerCase

var lower = String.prototype.toLowerCase.apply(new Date());

并且实际上等效于:

var lower = new Date().toString().toLowerCase();

由于其简单性和可读性,通常首选第二种形式。 在早期版本的 IE 上,第一个的好处是它可以使用null值。 null上应用toLowerCasetoLocaleLowerCase的结果将产生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()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 = '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 中的strtolower() 他们期望与其他语言中的函数名称相同,这就是这篇文章在这里的原因。

我建议使用原生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 is not a function”所以我尝试了这段代码,发现了问题!

alert("(typeof extension)=>" + (typeof extension) + "<=");;

输出是"(typeof extension)=>object<=" - 所以啊哈,我的输入没有得到字符串变量。 不过,修复方法很简单 - 只需将这该死的东西强制转换为字符串即可!:

var extension = String(extension);

转换后, extension.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() method converts any string to "UPPER" case letters.
toLowerCase() method converts any string to "lower" case letters.

选项 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);

只需使用 JS toLowerCase()
let v = "Your Name" let u = v.toLowerCase(); 要么
let u = "Your Name".toLowerCase();

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 = "你好"; x.toLowerCase();

这么短的托盘

  var lower = (str+"").toLowerCase();

尝试

<input type="text" style="text-transform: uppercase">  //uppercase
<input type="text" style="text-transform: lowercase">  //lowercase

演示 - JSFiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM