Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-替换字符串中字符的任何实例_Javascript_Jquery_String_Replace - Fatal编程技术网

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
上编写的任何备选方案的结果。可能的替代方案可能是:

Loader
Lo[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”)