如何避免第一个字符值是输入框中输入的单词“ - ”

时间:2016-01-12 07:05:45

标签: javascript html

我需要避免文本框中的第一个字符值为-符号。

$(document).on("keypress", "#form_name", function() {
  if ($('#form_name').val().substr(0, 1) == "-") {
    return true
  } else {
    return false
  }
});

我正在尝试这种方法,但它无法正常工作。

请指导我解决问题。

2 个答案:

答案 0 :(得分:2)

您需要交换所提供的内容:

$(document).on("keyup", "#form_name", function() {
  if ($('#form_name').val().substr(0, 1) == "-") {
    $('#form_name').val("");
    return false;
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="form_name" />

我还添加了一条小错误消息。看看:

$(".error").hide();
$(document).on("keyup", "#form_name", function() {
  if ($('#form_name').val().substr(0, 1) == "-") {
    $('#form_name').val("");
    $(this).next(".error").fadeIn();
    return false;
  } else
    $(this).next(".error").fadeOut();
});
.error {display: inline-block; vertical-align: middle; padding: 2px; border: 1px solid #f00; background: #f66; color: #fff; font-weight: bold; font-size: 0.8em; border-radius: 3px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="form_name" />
<span class="error">Cannot start with -.</span>

答案 1 :(得分:1)

$(document).on("keyup", "#form_name", function() { //when a user types in input box
    var formValue = this.value;
    if ( formValue.charAt( 0 ) == '-' ) {
         return false;
    } else {
         return true;
    }
});