Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅识别输入中的数字标记(JavaScript)_Javascript_Html_Regex - Fatal编程技术网

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

仅识别输入中的数字标记(JavaScript),javascript,html,regex,Javascript,Html,Regex,我试图只计算数字标记的和,而不是附加到单词上的数字 例子 “11 M22 33”-由于22与M相连,因此总和将为44 我写了这个函数,但它似乎在添加所有的数字。如何使用正则表达式仅隔离数字标记 函数lasomme() { /*var calcule=document.getElementById(“计算”).value; 警报(计算)*/ var k=/^[A-Za-z \-èèèèèèèèö]+$/; var r=/\d+/g; var s=document.getElementById

我试图只计算数字标记的和,而不是附加到单词上的数字

例子
“11 M22 33”
-由于22与M相连,因此总和将为44

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


函数lasomme()
{ 
/*var calcule=document.getElementById(“计算”).value;
警报(计算)*/
var k=/^[A-Za-z \-èèèèèèèèö]+$/;
var r=/\d+/g;
var s=document.getElementById(“计算”)值;
var-m;
var-sam=0;
while((m=k.r.exec))!=null){
sam+=parseInt(m);
m++;
}
警报(sam);
} 
给你

str=“11 M22 33”;
sum=str.match(/\b\d+\b/g)。reduce((a,b)=>Number(a)+Number(b));
控制台日志(总和)试试这个公式:


它们是否总是用空格分隔,以便确定为“数字”?或者它们可以用逗号、破折号等分隔。
\b
可能是OP想要的,也可能不是OP想要的-例如
“Ü11 M22Ö33”
仍然添加到
44