0

我在 JavaScript 和 CSS 中有这个测验,它根据一系列答案检查输入。在我尝试实施 RegEx 之前它工作正常。我放入 RegEx 以尝试使答案不区分大小写。这是新代码:

function check(a) {

    var str=a;
    var patt = new RegExp("/"+key[window.questnum]+"/i");
    var anscheck=patt.test(str);


    if(anscheck==true){
        document.getElementById('quiz').style.backgroundColor="#44ee99";
        setTimeout(function() {
            document.getElementById('quiz').style.backgroundColor="#44aaff";
        }, 500); 
        newquest(); }
    else if(a=="") {
        document.getElementById('answer').style.backgroundColor="#00eeee";
        setTimeout(function() {
            document.getElementById('answer').style.backgroundColor="#FFFFFF";
        }, 250); 
        }
    else {
        document.getElementById('quiz').style.backgroundColor="#ee9944";
        setTimeout(function() {
            document.getElementById('quiz').style.backgroundColor="#44aaff";
        }, 500); 
    }

这是旧的工作代码:

function check(a) {
    if(a==key[window.questnum]){
[[etc changing color]]

任何和所有的帮助表示赞赏。

4

2 回答 2

1

使用 new RegExp() 时,应单独放置“i”标志。

尝试:

var patt = new RegExp(key[window.questnum], "i");
于 2013-04-21T16:17:08.623 回答
0

如果您在两个字符串上都使用 String.toLowerCase() ,则可以检查相等性。

于 2013-04-21T16:14:58.833 回答