方法一:
正则实现:
function changeCase(str) {
if (typeof str !== 'string') {
alert('格式不正确~')
return str
} else {
let arr = str.split('')
return arr
.map(item => {
return /^[a-z]$/.test(item)
? item.toUpperCase()
: item.toLowerCase()
})
.join('')
}
}
console.log(changeCase('aBcDeFgHiJk')) // AbCdEfGhIjK
方法二:
ASCII码实现:
A 65 a 97
Z 90 z 122
function switchCase(str) {
if (typeof str !== 'string') {
alert('格式不正确~')
return str
} else {
let arr = str.split('')
return arr
.map(item => {
return item.charCodeAt() < 97
? item.toLowerCase()
: item.toUpperCase()
})
.join('')
}
}
console.log(switchCase('aBcDe_FgHiJk')) // AbCdE_fGhIjK
方法三:
正则实现:
function caseConvert(str) {
return str.replace(/([a-z]*)([A-Z]*)/g, (m, s1, s2) => {
return `${s1.toUpperCase()}${s2.toLowerCase()}`
})
}
console.log(caseConvert('aBcDeFgHiJk')) //AbCdEfGhIjK