Javascript-替换字符串中字符的任何实例
以以下字符串为例:Javascript-替换字符串中字符的任何实例,javascript,jquery,string,replace,Javascript,Jquery,String,Replace,以以下字符串为例: Lodder 我想做的是,确保以上是在keypress上编写的任何备选方案的结果。可能的替代方案可能是: Loader Lo[a]der Lo.ader 备选方案始终基于字母a替换字符串中的第一个d 到目前为止,我编写的代码是: $('#element').keyup(function(e) { var Lodder = this.value.replace(/Loader|Lo4der/g, 'Lodder'); if (Lodder != this.
Lodder
我想做的是,确保以上是在keypress
上编写的任何备选方案的结果。可能的替代方案可能是:
LoaderLo[a]der
Lo.ader 备选方案始终基于字母
a
替换字符串中的第一个d
到目前为止,我编写的代码是:
$('#element').keyup(function(e) {
var Lodder = this.value.replace(/Loader|Lo4der/g, 'Lodder');
if (Lodder != this.value)
{
this.value = Lodder;
}
});
正如您所看到的,它只会替换精确的替代方案,但是我正试图通过检测更高级的替代方案使其更具动态性
是否有一个或多或少简单但健壮的解决方案
如果是这样,有人能给我指出正确的方向吗?使用
*?
非贪婪地匹配任意数量的字符
value.replace(/\bLo.*?der\b/g, 'Lodder');
\b
称为单词边界,它匹配单词字符和非单词字符(反之亦然)。注意:如果我没有很好地解释上述内容,很抱歉。有一个非常“关闭”的一天值。替换(/\bLo.*.der\b/g,'Lodder')代码>@AvinashRaj-你是个明星。非常感谢。请随时写下你的评论作为一个适当的回答,这样我可以接受it@Lodder更换是最容易的部分。但是,在用户输入时替换输入值会偏移光标,从而破坏用户体验。您主要关心的应该是在整个操作中检索和维护光标位置。由于提交表单的方法不止一种(即,在最后一个字段中按Enter键可以提交表单,或者调用submit方法),因此请在(“submit”,function(){…})上设置$(“#theForm”)代码>