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

时间:2015-06-06 15:11:46

标签: javascript jquery html5

我需要检查输入元素的值(由用户输入框中)是否从

返回
$("#emailInput").css("value")

包含某个字符串。

我尝试过在google上看到的各种方法,但都没有。

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(我的尝试):

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

2 个答案:

答案 0 :(得分:1)

而不是css(),请使用val()。另外,代替contains()使用indexOf(),因为contains()适用于jQuery DOM对象,而不是字符串

&#13;
&#13;
$("#emailInput").change(function() {
  if ($("#emailInput").val().indexOf("@") > -1 && $("#emailInput").val().indexOf(".") > -1) {
    console.log('It contains @ and .');
  } else {
    // do something else
  }
});
&#13;
<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>
&#13;
&#13;
&#13;

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

答案 1 :(得分:1)

你可以试试这个:

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