[英]javascript string replace with RegExp
我遇到了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值已編碼並在cMyTest1
產生(在此特定示例中)。 c
不滿足\\\\b
。 根據具體情況,有多種解決方案。 一種是在使用正則表達式之前先在href上使用decodeURI
,然后再對其進行編碼(盡管可能不需要)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.