Javascript替换为不影响字符串的正则表达式
我有一个webapp任务管理器 应用程序识别字符串中的日/月 我有一个函数,它将复制今天选择的任务,但我正在尝试使该函数更新字符串中的日期 因此,例如,Javascript替换为不影响字符串的正则表达式,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个webapp任务管理器 应用程序识别字符串中的日/月 我有一个函数,它将复制今天选择的任务,但我正在尝试使该函数更新字符串中的日期 因此,例如,执行此任务!29/5将变成完成此任务!1/6 该函数当前看起来如下所示: var d = new Date(); var mon = d.getMonth()+1; var day = d.getDate(); $('input.replicateCheck:checkbox:checked').each(function(){ /
执行此任务!29/5
将变成完成此任务!1/6
该函数当前看起来如下所示:
var d = new Date();
var mon = d.getMonth()+1;
var day = d.getDate();
$('input.replicateCheck:checkbox:checked').each(function(){
//string of row (nam)
var nam = $(this).parent().find('input.row-name').val();
//replace existing date with current date
nam = nam.replace('\d{1,2}\/\d{1,2}',day+'/'+mon);
console.log(nam);
});
但是,它不会替换字符串中的日期
问题将是这一行:
nam = nam.replace('\d{1,2}\/\d{1,2}',day+'/'+mon);
为什么这不起作用
编辑按照要求,以下是我试图实现的工作版本:
$('button#go')。单击(函数(){
var text=$('#testInput').val();
var d=新日期();
var mon=d.getMonth()+1;
var day=d.getDate();
newText=text.replace(/\d{1,2}\/\d{1,2}/,day+'/'+mon);
警报(新文本);
});代码>
*{
宽度:100%;
框大小:边框框;
-moz框大小:边框框;
-webkit框大小:边框框;
填充:10px;
}
钮扣{
边缘顶部:20px;
}
走代码>您缺少正则表达式分隔符:
nam = nam.replace(/\d{1,2}\/\d{1,2}/, day+'/'+mon);
您缺少正则表达式分隔符:
nam = nam.replace(/\d{1,2}\/\d{1,2}/, day+'/'+mon);
您需要提供正则表达式分隔符
nam = nam.replace(/\d{1,2}\/\d{1,2}/,day+'/'+mon);
^ ^
您需要提供正则表达式分隔符
nam = nam.replace(/\d{1,2}\/\d{1,2}/,day+'/'+mon);
^ ^
非常感谢。你能解释什么是正则表达式分隔符吗?为什么我不把正则表达式括在引号里?@BenPearlKahan,正则表达式的开头和结尾/
在javascript中,你应该把正则表达式括在/../../
中,否则它会把它解释成字符串…谢谢。你能解释一下什么是正则表达式分隔符吗?为什么我不把正则表达式括在引号里?@BenPearlKahan,正则表达式的开头和结尾/
在javascript中,你应该把正则表达式括在/../../
中,否则它会把它解释成一个字符串…谢谢你。你能解释一下什么是正则表达式分隔符吗?为什么我不把正则表达式括在引号里?在Javascript中,你需要把正则表达式包装在/
的两边,然后解释为正则表达式。另一种方法是使用RegExp
对象。谢谢。你能解释一下什么是正则表达式分隔符吗?为什么我不把正则表达式括在引号里?在Javascript中,你需要把正则表达式包装在/
的两边,然后解释为正则表达式。另一种方法是使用RegExp
object。你能解释一下你的任务是为了我的学习目的吗?你能解释一下你的任务是为了我的学习目的吗?