通过反转现有的应用正则表达式来获取字段的实际值?

时间:2017-11-29 06:44:18

标签: javascript jquery regex

我在我的字段上应用正则表达式仅显示最后4位数字。我正在使用下面的正则表达式,它将所有数字替换为*,除了最后4位数。

var str = ratingTdText.replace(/\d(?=\d{4})/g, "*");

我想在该部分做另一件事,即点击以获取该字段的实际值。场景如下所述

应用正则表达式后,字段值为829812983,它将其转换为***** 2983。在下一部分单击“单击”以获取实际字段值,即829812983。

JSFiddle链接在下面

JSFiddle

是否可以选择撤销正则表达式?

我不想将数据存储在任何隐藏字段中。

1 个答案:

答案 0 :(得分:1)

您需要将原始值保存为相同td的属性

$("div.tg-wrap tbody").find("tr").each(function() { 
    var ratingTdText = $(this).find('td.Rating').text();
    var str = ratingTdText.replace(/\d(?=\d{4})/g, "*");
    $(this).find('td.Rating').html(str);
    $(this).find('td.Rating').attr("data-originalval", ratingTdText); //observe this line
});

在获取td的值时,获取data-originalval属性值而不是text()

选中此fiddle - 您可以通过开发者工具检查浏览器的渲染元素,以查看data-originalval

中保存的值