检查值的输入是否与每次击键时的内容匹配

时间:2013-04-13 21:59:22

标签: javascript jquery

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

现在,我正在使用许多if和else if语句来检查值,使用.val(),===这句话。 if语句位于页面上唯一输入的keyup函数内。

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

我该怎么做?

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

以下是会导致传球的事情: '帮助'或 '搜索'。

会导致失败的事情: 'serach'(开始匹配,但长度相等且不匹配), lpeh(长度相等但不匹配)', 或'自行车'(长度相等且不匹配), 或''处理'(长度较长且不匹配), 或'编辑'(长度相等且不匹配), 或“杂志”(长度较长且不匹配)。

感谢您提供任何帮助 - 我非常感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

  1. 制作一个允许的字符串数组。
  2. 迭代数组。
    • 当输入和数组条目相等时返回数组索引(+1)。
    • 如果array_entry.indexOf(输入)为0,则退出(即输入是数组输入的开头)
  3. 到达阵列末尾时调用fail()。