如何返回不区分大小写的精确匹配并评估为真/假

时间:2019-04-10 18:59:29

标签: javascript

这是JavaScript问题...

我正在尝试返回不区分大小写的精确匹配。例如,如果我在输入框中输入“ yo”,那么我希望它返回true,但是对于以“ yo”结尾或以“ yo”开头(即您的)的任何内容,它也将返回true。我还是想要像“哟!”这样的案例。和“哟,怎么了”返回true。

我已经尝试过startsWith()和endsWith(),但我不确定该在哪里使用...

<!DOCTYPE html>
<html>
<body>
<input type="text" id="input1">
<button type="submit" onclick="myFunction()">Test</button>
<p id="demo"></p>

<script>
function myFunction() {
var arr1 = [/hello/i, /\bhi/i, /\bhey/i, /yo/i];
var b = document.getElementById("input1").value;
document.getElementById("demo").innerHTML = arr1.some(regexp => regexp.test(b));
}
</script>

</body>
</html>

我想获得单词的完全匹配,而不是一个字符串。

1 个答案:

答案 0 :(得分:0)

我相信您正在使用\b Word Boundaries,但是使用它们的方式不正确。如果您阅读文档,则需要用word元字符(例如\b)包装要匹配的\bhello\b。尝试下一个示例:

function myFunction() {
  var arr1 = [/\bhello\b/i, /\bhi\b/i, /\bhey\b/i, /\byo\b/i];
  var b = document.getElementById("input1").value;
  document.getElementById("demo").innerHTML = arr1.some(regexp => regexp.test(b));
}
<input type="text" id="input1">
<button type="submit" onclick="myFunction()">Test</button>
<p id="demo"></p>