0

在每个键上,或者在用户输入一个字母后,我需要检查它是否匹配或匹配两个单词之一。如果键入的内容等于或更长且不等于其中一个短语,我将运行我的自定义 fail() 函数。如果匹配,则如果第一个单词匹配,则我使用参数 1 运行 pass 函数,如果第二个单词匹配,则使用参数 2 运行。

现在,我正在使用大量 if 和 else if 语句来检查值,使用 .val(), === 短语来执行此操作。if 语句位于页面上唯一输入的 keyup 函数内。

必须有比所有这些比较陈述更好的方法来做到这一点。可能在键上检查 val 是否开始匹配或确实匹配数组中的任何短语。如果它确实匹配数组中的任何短语(每个元素都是一个元素),则运行 pass() ,参数是数组+1中匹配单词的索引。当它的长度等于或更长且不等于数组中的任何短语时,运行 fail() 函数。

我该怎么做?

或者如果您有更好的解决方案,请分享。

以下是会导致通过的内容:“帮助”或“搜索”。

会导致失败的事情:'serach'(开始匹配,但长度相等但不匹配)、lpeh(长度相等但不匹配)'或'bike'(长度相等但不匹配' t 匹配),或 'dealt'(长度较长且不匹配),或 'editor'(长度相等且不匹配),或 'magazine'(长度较长且不匹配)。

感谢您提供的所有帮助——我非常感谢。

4

1 回答 1

1

尝试这个:

  1. 创建一个允许的字符串数组。
  2. 遍历数组。
    • 当输入和数组条目相等时,返回数组索引 (+1)。
    • 如果 array_entry.indexOf(input) 为 0 则退出(即输入是数组条目的开头)
  3. 到达数组末尾时调用 fail()。
于 2013-04-13T22:08:02.270 回答