javascript字符串替换为RegExp

javascript string replace with RegExp

本文关键字:RegExp 替换 字符串 javascript      更新时间:2023-09-26

我得到了一个问题与javascript RegExp。当我点击按钮时,我想用textbox值替换a.href。但是,我不想替换整个字符串只是想找到并替换那些与我的RegExp完全匹配的。这是我的代码

$(document).ready(function(){
    $('#btnRun').click(function(){
        var str = encodeURIComponent($('#mydata').val());
        var regExp = new RegExp('''b' +encodeURIComponent( $('a').html()) + '''b','gi');
        $('a').attr('href',$('a').attr('href').replace(regExp,str));
    });
});

这是我的测试代码http://jsfiddle.net/4uAp5/1/

不要认为你需要一个正则表达式来做这个。这段代码应该完成您所描述的:

$('a').attr('href',$("#mydata").val());

同样值得注意的是,您定位链接的方式- $('a') -将选择页面上的每个链接…

''b不匹配,因为href值是编码的,结果(在这个特定的示例中)是cMyTest1c不满足''b。根据具体情况,有多种解决方案。一种是在使用regex之前先在href上使用decodeURI,然后再对其进行编码(尽管可能不需要)。

http://jsfiddle.net/4uAp5/4/