我对js / jquery(显然)很新,我正在开发一个小项目,涉及将所有字母更改为toUpperCase,除了“o”,它将保持/更改为小写。
我已经实现了这个:http://jsfiddle.net/HwTEj/
$(function() {
$('input').keyup(function() {
this.value = this.value.toUpperCase();
});
});
然而,我正在努力定义某些字母以保持/更改为小写。
对此有任何帮助将不胜感激,因为我是新来的问题,请告诉我是否有任何其他信息需要指出我正确的方向。
答案 0 :(得分:7)
要替换所有实例,您需要这样的内容:
this.value.toUpperCase().replace(/O/g, "o")
编辑:
如果您想要替换将被替换的字符,您可以这样做(在这里使用o,f和h作为示例):
this.value.toUpperCase().replace(/[OFH]/g, function($1){
return $1.toLowerCase();
})
答案 1 :(得分:2)
$(function() {
$('input').keyup(function() {
this.value = this.value.toUpperCase().split('O').join('o');
});
});
答案 2 :(得分:1)
其他答案都很好,但这里有另一种选择:
this.value = this.value.replace(/(o)|./ig, function(x, y) {
return y ? y.toLowerCase() : x.toUpperCase();
});
如果您需要将其他字符设为小写,则可以使用字符类(例如o
)替换模式中的[xyz]
。