如何使用正则表达式来确定字符串中是否包含数字、方程式符号或句点?

如何使用正则表达式来确定字符串中是否包含数字、方程式符号或句点?

我无聊时创建了这个新的自定义控制台 API,并创建了一个允许您更改变量值的功能。

如果你对控制台 API 感到好奇,这里有一支实时笔: https://codepen.io/SkylerSpark/pen/JjPZGLP

它非常复杂,但我目前正在使用这个正则表达式来确定它是数字还是字符串:

/^\d+$/

function conLogEditVar() {
 var a1 = cmd.input;
 var a2 = a1.split("=", 2);
 var a3 = a2[1];
 if (/^\d+$/.test(a3) == true) {
  window[a2[0]] = Number(a2[1]);

...

问题是它只查找 0-9,而我希望它查找 0-9 以及以下任何字符:(这样人们就可以将其 var 的值设置为数字方程)

% * / + -.

我尝试了这个等式,但我认为它只寻找包含所有字符的字符串,因此它毫无用处:

/^\d+\-\+\/\%\*\.$/

答案1

你可以尝试这个

  if (eq.match(/^[0-9+%/*.-]+$/))

它只允许 0-9 和 +*%.-,对于您的代码尝试

if (/^[0-9+%/*.-]+$/.test(a3) == true) 
{
  window[a2[0]] = Number(a2[1]);
}

相关内容