请使用以下字符串:
Lodder
我要做的是,确保上述内容是keypress
上写的任何替代方案的结果。可能的替代方案可能是:
Lo a der Lo [a] der Lo .a der
替代方案始终基于字母a
替换字符串中的第一个d
到目前为止我编写的代码:
$('#element').keyup(function(e) {
var Lodder = this.value.replace(/Loader|Lo4der/g, 'Lodder');
if (Lodder != this.value)
{
this.value = Lodder;
}
});
正如您所看到的,它只取代了确切的替代方案,但我试图通过检测更高级的替代方案来使其更具动态性。
对此有一个或多或少的简单但强大的解决方案吗?
如果是这样,有人会指出我正确的方向吗?
答案 0 :(得分:3)
使用.*?
非贪婪地匹配任意数量的字符。
value.replace(/\bLo.*?der\b/g, 'Lodder');
\b
称为单词边界,在单词字符和非单词字符之间匹配(反之亦然)。