EDIT: Прокрутите вниз!
Вы можете использовать функцию .slice();
в JavaScript, чтобы получить последний символ вашей строки.
Пример:
$('#message').on("keyup", function() {
var str = $(this).val();
var lastChar = str.slice(-1);
if(lastChar == "@") {
alert('There you go!');
}
});
Функция .slice();
в основном берет длину строки и в этом случае вычитает 1 в индексе, который затем становится последним символом вашей строки. Тогда все, что вам нужно сделать, это сделать свое условное.
Фрагмент:
$('#message').on("keyup", function() {
var str = $(this).val();
var lastChar = str.slice(-1);
if(lastChar == "@") {
alert('There you go!');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row d-flex justify-content-center">
<div class="col-6">
<input type="text" class="form-control" id="message" placeholder="enter string" />
</div>
</div>
Пример кода здесь .
РЕДАКТИРОВАТЬ:
Если вы хотите проверить, присутствует ли знак @ где-нибудь в строке, тогда вы можете использовать функцию .indexOf();
и построить на ее основе свое условие.
Пример:
$('#message').on("keyup", function() {
var str = $(this).val();
if(str.indexOf("@") > -1) {
alert('There you go!');
}
});
Пример кода здесь .
Фрагмент:
$('#message').on("keyup", function() {
var str = $(this).val();
if(str.indexOf("@") > -1) {
alert('There you go!');
}
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row d-flex justify-content-center">
<div class="col-6">
<input type="text" class="form-control" id="message" placeholder="enter string" />
</div>
</div>