检查输入元素值是否包含某个字符串

Checking whether a input element value contains a certain string

本文关键字:包含某 字符串 是否 输入 元素 检查      更新时间:2023-09-26

我需要检查从

返回的输入元素的值(由用户输入到框中)
$("#emailInput").css("value")

包含一个特定的字符串。

我已经尝试了各种方法看到谷歌,但没有工作。

HTML:

<form class="form-horizontal" role="form">
<div id="emailBorder">
    <label id="emailStyle">Email address:</label>
    <div id="emailInputStyle">
        <input class="form-control" id="emailInput" type="text">
    <span id="emailGlyphicon"></span>
    </div>
</div>
<div class="form-group">
    <label id="contentStyle">Content:</label>
    <div id="contentInputStyle">
        <textarea class="form-control" rows="5" id="contentInput"></textarea>
    </div>
</div>
<button type="submit" id="sendStyle" class="btn btn-default">Send</button>
</form>

Javascript (My Attempt):

$("#emailInput").change(function () {
    if ($("#emailInput").css("value").contains("@") && $("#emailInput").css("value").contains(".")) {
        // do something
    } else {
        // do something else
    }
});

val()代替css()。此外,而不是contains()使用indexOf(),因为contains()工作在jQuery DOM对象,而不是字符串

$("#emailInput").change(function() {
  if ($("#emailInput").val().indexOf("@") > -1 && $("#emailInput").val().indexOf(".") > -1) {
    console.log('It contains @ and .');
  } else {
    // do something else
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form class="form-horizontal" role="form">
  <div id="emailBorder">
    <label id="emailStyle">Email address:</label>
    <div id="emailInputStyle">
      <input class="form-control" id="emailInput" type="text">
      <span id="emailGlyphicon"></span>
    </div>
  </div>
  <div class="form-group">
    <label id="contentStyle">Content:</label>
    <div id="contentInputStyle">
      <textarea class="form-control" rows="5" id="contentInput"></textarea>
    </div>
  </div>
  <button type="submit" id="sendStyle" class="btn btn-default">Send</button>
</form>

css()将获取/设置元素的inline style。val()将获取/设置input类型元素的value

你可以试试:

$("#emailInput").change(function () {
    if ($this.contains("@") && $this.contains(".")) {
        // do something
    } else {
        // do something else
    }
});