在javascript中对字符串进行多次替换
我正在尝试使用javascript对字符串(php变量)进行多次替换。 此代码:在javascript中对字符串进行多次替换,javascript,jquery,Javascript,Jquery,我正在尝试使用javascript对字符串(php变量)进行多次替换。 此代码: <script> jQuery(document).ready(function() { var map = { "2014": "", "2015": "", "2016": "", "-": " ", "ú": "u" }; var str = "<?php echo $data; ?>"; var result = str.replace(/[
<script>
jQuery(document).ready(function() {
var map = {
"2014": "",
"2015": "",
"2016": "",
"-": " ",
"ú": "u"
};
var str = "<?php echo $data; ?>";
var result = str.replace(/[<?php echo $data; ?>]/g, function(m) {
return replacements[m];
});
jQuery('.even_data').html(result);
});
</script>
另一种选择是使用:
jQuery(document).ready(function() {
var str = "<?php echo $data; ?>";
var result = str.replace('2014','');
jQuery('.even_data').html(result);
});
jQuery(文档).ready(函数(){
var str=“”;
var结果=str.replace('2014','');
jQuery('.even_data').html(结果);
});
但是你怎么能做多次替换呢
谢谢
我尝试了这些答案,但都不起作用:在Javascript正则表达式中,方括号[]是定义的特殊字符。如果要将它们用作文字,则必须对其进行转义:
str.replace(/\[2014-08-28\]/g, function(m) {
在Javascript正则表达式中,方括号[]是用于定义的特殊字符。如果要将它们用作文字,则必须对其进行转义:
str.replace(/\[2014-08-28\]/g, function(m) {
在Javascript正则表达式中,方括号[]是用于定义的特殊字符。如果要将它们用作文字,则必须对其进行转义:
str.replace(/\[2014-08-28\]/g, function(m) {
在Javascript正则表达式中,方括号[]是用于定义的特殊字符。如果要将它们用作文字,则必须对其进行转义:
str.replace(/\[2014-08-28\]/g, function(m) {
让PHP来做这件事比JavaScript容易得多
$map = array(
"2014" => "",
"2015" => "",
"2016" => "",
"-" => " ",
"ú" => "u"
);
$data = '2014-08-28';
$data = str_replace(array_keys($map), array_values($map), $data);
让PHP来做这件事比JavaScript容易得多
$map = array(
"2014" => "",
"2015" => "",
"2016" => "",
"-" => " ",
"ú" => "u"
);
$data = '2014-08-28';
$data = str_replace(array_keys($map), array_values($map), $data);
让PHP来做这件事比JavaScript容易得多
$map = array(
"2014" => "",
"2015" => "",
"2016" => "",
"-" => " ",
"ú" => "u"
);
$data = '2014-08-28';
$data = str_replace(array_keys($map), array_values($map), $data);
让PHP来做这件事比JavaScript容易得多
$map = array(
"2014" => "",
"2015" => "",
"2016" => "",
"-" => " ",
"ú" => "u"
);
$data = '2014-08-28';
$data = str_replace(array_keys($map), array_values($map), $data);
你可以用
function multiReplace(str, map) {
for(var i in map) if(map.hasOwnProperty(i)) {
str = str.replace(
new RegExp(i.replace(/[.^$*+?()[{\\|]/g, '\\$&'), 'g'),
map[i]
);
}
return str;
}
var result = multiReplace(str, map);
它的工作原理如下:
map
^$*+?()[{\|
g
flag)正则表达式map
function multiReplace(str, map) {
for(var i in map) if(map.hasOwnProperty(i)) {
str = str.replace(
new RegExp(i.replace(/[.^$*+?()[{\\|]/g, '\\$&'), 'g'),
map[i]
);
}
return str;
}
var result = multiReplace(str, map);
它的工作原理如下:
map
^$*+?()[{\|
g
flag)正则表达式map
function multiReplace(str, map) {
for(var i in map) if(map.hasOwnProperty(i)) {
str = str.replace(
new RegExp(i.replace(/[.^$*+?()[{\\|]/g, '\\$&'), 'g'),
map[i]
);
}
return str;
}
var result = multiReplace(str, map);
它的工作原理如下:
map
^$*+?()[{\|
g
flag)正则表达式map
function multiReplace(str, map) {
for(var i in map) if(map.hasOwnProperty(i)) {
str = str.replace(
new RegExp(i.replace(/[.^$*+?()[{\\|]/g, '\\$&'), 'g'),
map[i]
);
}
return str;
}
var result = multiReplace(str, map);
它的工作原理如下:
map
^$*+?()[{\|
g
flag)正则表达式map
RE
替换后,它应该可以工作:
var result = str.replace(/(\d{4}|-|ú)/g, function(m) {
return map[m];
});
您的正则表达式不好。用实际的RE
替换后,它应该可以工作:
var result = str.replace(/(\d{4}|-|ú)/g, function(m) {
return map[m];
});
您的正则表达式不好。用实际的RE
替换后,它应该可以工作:
var result = str.replace(/(\d{4}|-|ú)/g, function(m) {
return map[m];
});
您的正则表达式不好。用实际的RE
替换后,它应该可以工作:
var result = str.replace(/(\d{4}|-|ú)/g, function(m) {
return map[m];
});
使用JS,它将是这样的smth:
var str = "2014 12 03, 2014, day";
var map = {"2014" : "2012",
"12" : "a",
"03" : "",
"day" : "sfsdf"};
$.each(map, function(key, value) {
str = str.replace(new RegExp(key ,"g"), value);
});
//新的str:“2012年a,2012年,sfsdf”使用JS它会是这样的:
var str = "2014 12 03, 2014, day";
var map = {"2014" : "2012",
"12" : "a",
"03" : "",
"day" : "sfsdf"};
$.each(map, function(key, value) {
str = str.replace(new RegExp(key ,"g"), value);
});
//新的str:“2012年a,2012年,sfsdf”使用JS它会是这样的:
var str = "2014 12 03, 2014, day";
var map = {"2014" : "2012",
"12" : "a",
"03" : "",
"day" : "sfsdf"};
$.each(map, function(key, value) {
str = str.replace(new RegExp(key ,"g"), value);
});
//新的str:“2012年a,2012年,sfsdf”使用JS它会是这样的:
var str = "2014 12 03, 2014, day";
var map = {"2014" : "2012",
"12" : "a",
"03" : "",
"day" : "sfsdf"};
$.each(map, function(key, value) {
str = str.replace(new RegExp(key ,"g"), value);
});
//新str:“2012年a、2012年sfsdf”为什么PHP不能进行这些替换?为什么JavaScript必须这样做?@RocketHazmat我也可以使用PHP,我认为使用JS会更容易什么是
替换
?它的定义在哪里?@user3558931:我只是假设替换
应该是映射
。我也这么想,但很想从hors那里听到它如果你知道我的意思的话。为什么PHP不能进行这些替换?为什么JavaScript必须这样做?@RocketHazmat我也可以使用PHP,我想用JS会更容易什么是替换
?它是在哪里定义的?@user3558931:我只是假设替换
应该是映射
。我也这么想,但我会如果你知道我的意思,我很想从马嘴里听到。为什么PHP不能进行这些替换?为什么JavaScript必须这样做?@RocketHazmat我也可以使用PHP,我想使用JS会更容易什么是替换
?它是在哪里定义的?@user3558931:我只是假设替换
应该是映射
。我也这么想,但如果你知道我的意思,我很想从马口中听到。为什么PHP不能进行这些替换?为什么JavaScript必须这样做?@RocketHazmat我也可以使用PHP,我想使用JS会更容易什么是替换
?它在哪里定义?@user3558931:我只是假设替换
>本来应该是map
。我也这么想,但如果你知道我的意思的话,我很想从马嘴里听到。