javascript - 仅识别输入中的数字标记 (JavaScript)

标签 javascript html regex

我正在尝试计算仅数字标记的总和,而不是附加到单词的数字。

例子

"11 M22 33" — 总和将为 44,因为 22 附加到 M

我写了这个函数,但它似乎将所有数字相加。如何使用正则表达式仅隔离数字标记?

<FORM> 
<input type="text" name="phrase" id="calc" value="Enter code" /> 

<input type="button" value="calcule" onclick="lasomme();" /> 

<input type="button" value="invers" onclick="inverser();" /> 
</FORM> 


<script>

function lasomme() 
{ 

/*var calcule = document.getElementById("calc").value; 
alert(calcule);*/

var k = /^[A-Za-z\-éèàùâêûîôäëüïö]+$/;
var r = /\d+/g;
var s = document.getElementById("calc").value;
var m;
var sam =0;

while ((m = k.r.exec(s)) != null) {
   sam += parseInt(m);
  m++;
  
}
alert (sam);

} 




</script>

有没有办法只计算数字而不计算附加的数字?

谢谢

最佳答案

给你

str = "11 M22 33";

sum = str.match(/\b\d+\b/g).reduce((a, b) => Number(a) + Number(b));

console.log(sum);

\b 是单词边界元符号,它确保表达式只匹配作为单独单词的数字。

关于javascript - 仅识别输入中的数字标记 (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44251806/

相关文章:

html - div 的 css 与 float 的 div 重叠?

php - 联系表格直接使用 php 给自己发电子邮件

正则表达式:以特定字符结尾的完全匹配字符串

regex - 主机文件的正则表达式的行为有所不同

javascript - 如何使用两个数组将复选框的值设置为 true?

javascript - 客户端验证显示问题

html - 使谷歌图表响应

python - 将字符串拆分为字母和数字,保留符号

javascript全局变量问题

javascript - 如何在 for 循环中使用延迟对象