这是一个JavaScript问题......
我试图返回确切的不区分大小写的匹配。例如,如果我在输入框中输入"yo"
,我希望它以true
的形式返回,它在我当前的方法中返回,但它也会返回true
,用于结束或以"yo"
开头的任何内容(即your
)。我仍然希望像"Yo!"
和"yo, what's up"
这样的案件返回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>
我希望得到单词的完全匹配,而不是只是一个字符串。
我相信你在使用\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>