typescript 如何在测试中从calc函数中提取值

eqqqjvef  于 2022-11-30  发布在  TypeScript
关注(0)|答案(1)|浏览(155)

我试图创建一个测试,在该测试中,我希望在通过拖动调整元素大小后比较元素的宽度。问题是调整大小库返回的宽度值为

calc(50% - 4px)

唯一改变的是这个百分比值,这是我想在测试中比较的,它是大还是小取决于鼠标向右或向左移动。
但是,我不知道如何从这个字符串中只提取百分比值或可能的减法结果。

it("has resizable containers", async () => {
    const initialRightWith = rightContainer.style.width;
    expect(initialRightWith).toEqual("50%");
  });

预期:“50%”收到:“计算(50% -4像素)”

kuhbmx9i

kuhbmx9i1#

您可以使用正则表达式从字符串中获取百分比,下面是一个示例:

const width = 'calc(50% - 4px)';
const regex = /^calc\((\d{1,3})%.+$/;

const getPercentageFromCalc = (w) => {
  const matches = regex.exec(width);
  
  return matches[1];
};

console.log(getPercentageFromCalc(width));

记住添加检查以确保正则表达式匹配某些内容,这只是一个示例!

相关问题