我在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]]
任何和所有帮助表示赞赏。
答案 0 :(得分:1)
使用新的RegExp()时,应单独放置“i”标志。
尝试:
var patt = new RegExp(key[window.questnum], "i");
答案 1 :(得分:0)
如果在两个字符串上使用String.toLowerCase(),则可以检查相等性。