我正在建立一个代码课程平台。用户在屏幕的右侧有一个文档,在左侧有一个交互式IDE可以练习。通过检查用户的答案(他的整体代码压缩在一个字符串中)是否包含所有要求(几个“强制性”字符串)来完成代码验证。
该平台除了一点之外都运行良好,这种逻辑并不灵活。例如:
this.variable='test'
如果期望的答案是this.variable = "test";
,则不会被接受。
这只是双引号,单引号,空格和分号的问题。
所以,我想知道什么是最佳选择。创建一个自定义indexOf()
函数,该函数将排除空格和分号,并且将单引号和双引号视为同一个东西?还是专用的图书馆?
const input = `this.variable='test'`
const expected = `this.variable = "test";`
const normalize = (str) => str.trim().toLowerCase().replace(/(\s|;)/g, '').replace(/\"/g, '\'')
console.log(normalize(input));
console.log(normalize(expected));
console.log(normalize(input) === normalize(expected))