web-dev-qa-db-ja.com

javascriptで大文字と小文字を変換する

Javascriptで大文字と小文字を変換するコードを作りたいです。

たとえば、「こんにちは、スタックオーバーフロー」。 ----> 'hI、sTACK oVERFLOW'

どうすればいいですか?

4
kk2

各文字に目を通し、大文字の場合は小文字に、小文字の場合は大文字に、どちらでもない場合はそのまま(コンマ、コロンなどの場合)に変換できます。

str = 'Hi, Stack Overflow.';
res = '';
for (var i = 0; i < str.length; ++i) {
    c = str[i];
  if (c == c.toUpperCase()) {
    res += c.toLowerCase();
  } else if (c == c.toLowerCase()) {
    res += c.toUpperCase();
  } else {
    res += c;
  }
}
5
Mureinik

map()を使用してこの簡単な解決策を試すことができます

var a = 'Hi, Stack Overflow!'

var ans = a.split('').map(function(c){
  return c === c.toUpperCase()
  ? c.toLowerCase()
  : c.toUpperCase()
}).join('')

console.log(ans)
3
Pranesh Ravi
<!DOCTYPE html>
<html>
<head>
<title>hello</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>

<script>
$(document).ready(function(){
    var x = 'Hi, Stack Overflow.';

    alert(caseAlter(x));

    function caseAlter(txt){
        var output = "";

        for(var i = 0; i < txt.length; i++){
            if(txt[i] == txt[i].toUpperCase()){
                output += txt[i].toLowerCase();
            }else{
                output += txt[i].toUpperCase();
            }           
        }

        return output;
    }

});
</script>
</body>
</html>

あなたのためにこれを行う関数:

function reverseCase(input) {
    var output = []
    for(var char in input) {
        var character = input[char]
        if(character == character.toUpperCase())
            output.Push(character.toLowerCase())
        else
            output.Push(character.toUpperCase())
    }
    return output.join('')
}
0
Lew
var hi = 'Hi, Stack Overflow.';

var hI = hi.split("");
for(var i=0;i<hI.length;i++){
if(hI[i] == hI[i].toLowerCase())hI[i]  = hI[i].toUpperCase();
else if(hI[i] == hI[i].toUpperCase())hI[i] = hI[i].toLowerCase();
} 
hI = hI.join("");
alert(hI);
//'hI, sTACK oVERFLOW'
0
Mamdouh Saeed
var input = 'Hi, Stack Overflow.'
var arr = input.split(' ');

alert(arr);
var output = arr.map(function(elem){

  return (elem[0].toLowerCase() + elem.substring(1,elem.length).toUpperCase());

});

alert(output.join());
0
Pranay