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

时间:2018-02-08 03:19:11

标签: javascript jquery jquery-ui

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

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

我想检查一下是否包含&#34; 联合王国&#34;如果没有,它应该返回false。 我尝试了下面这样的事情,但它一直都是真的,因为警报信息始终是&#39;它包含英国&#39;即使我已经 改变价值。

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

我该如何解决这个问题?感谢...

5 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

试试这个

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

}

答案 2 :(得分:1)

试试这种方式。使用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
}

答案 3 :(得分:1)

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

usecols

答案 4 :(得分:0)

您可以尝试val()indexOf

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