我有一个webapp任务管理器。
该应用可识别字符串中的日/月。
我有一个函数可以复制今天选定的任务,但我试图让函数更新字符串中的日期。
因此,例如,Do this task! 29/5
将成为Do this task! 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').click(function() {
var text = $('#testInput').val();
var d = new Date();
var mon = d.getMonth() + 1;
var day = d.getDate();
newText = text.replace(/\d{1,2}\/\d{1,2}/, day + '/' + mon);
alert(newText);
});
* {
width: 100%;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
padding: 10px;
}
button {
margin-top: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="testInput" value="The quick brown fox jumps on 26/5" />
<br/>
<button id="go">Go!</button>
答案 0 :(得分:3)
您缺少正则表达式分隔符:
Y[600]
答案 1 :(得分:3)
您需要提供RegEx分隔符
nam = nam.replace(/\d{1,2}\/\d{1,2}/,day+'/'+mon);
^ ^