我无聊时创建了这个新的自定义控制台 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]);
}