javascript - 如何在 JQuery 中使用正则表达式(字段 $)将整数添加到字符串变量?

标签 javascript jquery regex

我有一个可以正常工作的 jquery 代码,但我想在加法运算中使用字符串变量。

这是我的 jquery 代码:

var valueName1 = $("#Name1").val();
var rege2 = /^([1]{1,1})(T)+\_([A-Za-z]{2,4})+\_([A-Za-z0-9_]{3,40})+\_([0-9]{2,8})+\_([A-Za-z]{1,1})+([0-9]{1,1})$/;

if (rege2.test(valueName1)){
$("#Name2").val(valueName1.replace(rege, '4'+'$2_$3_$4_'+$("#type2").val()+'_$6'+ '$7' ));
$("#Name3").val(valueName1.replace(rege, '4'+'$2_$3_$4_'+$("#type3").val()+'_$6'+ '$7'));
}

我从正则表达式捕获了文件,并在替换功能中使用它们,但我想将整数添加到 $7 字段,例如:

 $("#Name2").val(valueName1.replace(rege, '4'+'$2_$3_$4_'+$("#type2").val()+'_$6'+ ('$7'+1) ));

我尝试过:

$("#Name2").val(valueName1.replace(rege, '4'+'$2_$3_$4_'+$("#type2").val()+'_$6'+ parseInt('$7', 10) + 1 ));

但是不行。

请问如何将整数添加到 $7 变量。

最佳答案

您可以使用 $7 临时设置一个隐藏字段,然后将其提取并使用 parseInt 转换为整数,将结果与 1 相加。像这样的事情:

$("#temporary_hidden_field").val(valueName1.replace(rege, '$7'));
$("#Name2").val(parseInt($("#temporary_hidden_field").val(),10)+1);

请注意,可以通过设置临时 JS 变量而不是隐藏字段来完成相同的操作:

var temp=valueName1.replace(rege, '$7')
$("#Name2").val(parseInt(temp,10)+1);

请务必处理可能的转换错误(parseInt() 返回 NaN)。

关于javascript - 如何在 JQuery 中使用正则表达式(字段 $)将整数添加到字符串变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32267094/

相关文章:

javascript - 正则表达式替换列表中的 0 但不是 10、20、30 等中的 0 - 使用 js 替换

javascript - draw() 完成回调

javascript - 将文本添加到 Froala 文本编辑器

javascript - JS 正则表达式匹配引号内的逗号

java - 如何使用单个 replaceAll 查找 Java 中两个字符串的公共(public)字符?

javascript - 复选框禁用上的 jquery 事件监听器

javascript - mat-sidenav-container 在 dom 中始终为空

javascript - 如何将 svg 元素的高度/宽度尺寸转换为像素

javascript - 使用自定义控件制作 html5 视频/音频播放列表播放器

javascript - ASP.NET MVC 5 从 Javascript 错误调用 Controller 方法