如果使用jQuery包含一个特定的单词,如何检查整个字符串



我需要帮助检查某个单词是否包含在输入文本框中的字符串中。例如,如果有一个字符串值分配给此textbox

<input type="text" id="StartLocation" name="StartLocation" value="1 AAC, MT SECTION, RAF SCAMPTON, LINCOLN, LN1 2ST, UNITED KINGDOM" >

我想检查它是否包含" UNICEKDOM "一词,如果没有,则应返回false。我在下面尝试了这样的事情,但它一直返回真实,因为警报消息总是"包含英国",即使我已经更改值。

if ($("input#StartLocation:contains('UNITED KINGDOM')")) {
  alert('It contains United Kingdom');
} else {
  alert('It does not contains United Kingdom');
}

我该如何解决?谢谢...

您不使用:contains测试<input>元素的值,它适用于<div><span>等容器。使用.val()获取值,然后使用普通的字符串方法。

if ($("input#StartLocation").val().indexOf("UNITED KINGDOM") != -1)

尝试此

if ($("#StartLocation").val().indexOf('UNITED KINGDOM') >= 0) {
}

尝试这种方式。使用indexOf

var value = $("#StartLocation").val();
if(value.indexOf("UNITED KINGDOM") != -1)
  alert("true");
else
  alert("false");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="StartLocation" name="StartLocation" value="1 AAC, MT SECTION, RAF SCAMPTON, LINCOLN, LN1 2ST, UNITED KINGDOM">

我更喜欢这种方法,因为它更可读。但是请先检查浏览器兼容性。

if ($("#StartLocation").val().includes('UNITED KINGDOM')) {
  //your code
}

您可以尝试val()indexOf

if ($("input#StartLocation").val().indexOf('UNITED KINGDOM')>-1)) {
   //.. ToDO
}

最新更新