【发布时间】:2017-03-04 16:29:04
【问题描述】:
我想做一个在Javascript中转换大小写的代码。
例如,“嗨,堆栈溢出。” ----> '嗨,堆栈溢出'
我该怎么做?
【问题讨论】:
-
你尝试了吗?
标签: javascript string uppercase lowercase
我想做一个在Javascript中转换大小写的代码。
例如,“嗨,堆栈溢出。” ----> '嗨,堆栈溢出'
我该怎么做?
【问题讨论】:
标签: javascript string uppercase lowercase
<!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>
【讨论】:
您可以使用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)
【讨论】:
为您执行此操作的函数:
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('')
}
【讨论】:
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());
【讨论】:
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'
【讨论】:
您可以遍历每个字符,然后将其转换为小写(如果它是大写字母),如果它是小写字母则转换为大写字母,或者如果两者都不是(如果它是逗号、冒号等):
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;
}
}
【讨论】: