JS正则表达式匹配字符串末尾的单词

时间:2017-07-17 12:35:42

标签: javascript regex

我有一个呈现表单的数据原型。输入呈现为:

<input type="text" id="loan_charges_1_date" name="loan[charges][1][date]" class="form-control">
<input type="text" id="loan_charges_1_duration" name="loan[charges][1][duration]" class="form-control">

... 下一个渲染:

<input type="text" id="loan_charges_2_date" name="loan[charges][2][date]" class="form-control">
<input type="text" id="loan_charges_2_duration" name="loan[charges][2][duration]" class="form-control">

我想写一个JS脚本来处理日期。所以,基本上我需要一种方法来捕获id的输入,以_date或简称date结尾。我想在这里我需要一个在字符串中匹配_datedate的常规表达式,最好是在该字符串的末尾。 有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式将id属性中的日期与match()匹配。

&#13;
&#13;
var bodyText =  document.getElementsByTagName('body')[0].innerHTML;
var ids = bodyText.match(/id="(.*date)"/g);
var idArray = ids.map(x => x = x.split('\"')[1]);
console.log(idArray);

idArray.forEach( x => document.getElementById(x).value = Date());
&#13;
<input type="text" id="loan_charges_1_date" name="loan[charges][1][date]" class="form-control">
<input type="text" id="loan_charges_1_duration" name="loan[charges][1][duration]" class="form-control">
<input type="text" id="loan_charges_2_date" name="loan[charges][2][date]" class="form-control">
<input type="text" id="loan_charges_2_duration" name="loan[charges][2][duration]" class="form-control">
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

正则表达式为/_date$/ /_date$/.test('sample_date') true /_date$/.test('date_sample') false