我有一个字符串,我想用小写的“i”替换每个大写的“I”,用大写的“I”替换每个小写的“i”。如您所见,如果我分两个阶段执行此操作,它只会将其转换,然后将其转换回之前的状态。那么我将如何一次完成这一切?

<html>
<head>
<script type="text/javascript">
function init() {
    text = document.getElementById('test');
    newtext = text.innerHTML.replace(/I/g, "i");
    newtext = newtext.replace(/i/g, "I");
    text.innerHTML = newtext;
}
</script>
</head>

<body onload="init()">
<div id="test">
THIS IS SOME TEST
</div>
</body>
</html>

最佳答案

newtext = text.innerHTML.replace(/[iI]/g, function(l) {
  return l.toUpperCase() === l ?
    l.toLowerCase() : l.toUpperCase();
});

关于JavaScript - 互相替换两个字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11065461/

10-10 16:55