gpt4 book ai didi

javascript - jQuery 多个字符串大小写和重音不敏感

转载 作者:行者123 更新时间:2023-12-03 07:46:26 24 4
gpt4 key购买 nike

我的第一篇文章在这里。我在网站上有一个功能,可以显示随机生成的法语短语,挑战读者将其在文本框中翻译成英语。单击按钮后,输入的文本将与所有可能的答案进行比较(给定短语有多个正确的翻译)。我四处寻找这方面的答案,但似乎没有什么适合我的情况。

这是 jQuery:

var correctAnswer = function(){$('#correctmessage').show('fast');$('#errormessage').hide('fast');}
var wrongAnswer = function(){$('#errormessage').show('fast');$('#correctmessage').hide('fast');}

$('#1').find('button').on('click', function(){
var text = $(this).parent().find('.translatefield').val();
var compareText = "I went to the cinema";
var compareText2 = "I have been to the cinema";
if (text == compareText || text == compareText2) {
correctAnswer();
}
else {
wrongAnswer();
}
});

所以我想知道是否可以将“比较”变量放入一个变量中,即“我去了电影院或我去过电影院或等等”在一个变量中以保持整洁。但主要我需要知道如何在 if 中调用该变量,以便它也接受不带重音字符的答案,无论大小写......我希望这是清楚的!感谢您提供的任何帮助,这已经让我恼火了一段时间了!

最佳答案

正如 Mark Holland 所评论的,使用数组作为比较短语。

如果您无论如何都在使用 jQuery,则可以使用 jQuery.inArray()

https://api.jquery.com/jQuery.inArray/

varcompareText = ['我去了电影院','我去过电影院'];

if ($.inArray(text.toLowerCase(), compareText)) {
... do stuff
}

要忽略重音符号,请使用如下解决方案:

String.prototype.removeAccents = function(){
return this
.replace(/[áàãâä]/gi,"a")
.replace(/[éè¨ê]/gi,"e")
.replace(/[íìïî]/gi,"i")
.replace(/[óòöôõ]/gi,"o")
.replace(/[úùüû]/gi, "u")
.replace(/[ç]/gi, "c")
.replace(/[ñ]/gi, "n")
.replace(/[^a-zA-Z0-9]/g," ");
}

感谢卢安·卡斯特罗 Perform a find/match with javascript, ignoring special language characters (accents, for example)?

关于javascript - jQuery 多个字符串大小写和重音不敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35184978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com