2014-02-05 3 views
1

Я использую следующий Jquery фрагмент кода, чтобы добавить «UK» для ввода текста, когда пользователь нажимает клавишу ввода на его/ее клавиатуре:Проверьте входной текст содержит определенную строку

jQuery('#myinput').one('keypress', function (e) { 
    if (e.which == 13) { 
    jQuery('#myinput').val($('#myinput').val() + ' UK'); 
    return false; 
    } 
}); 

Однако, я только хочу «UK» будет добавлен, если текст еще не содержит «UK». Есть ли простой способ проверить, присутствует ли «UK» с помощью jQuery?

Я попытался следующие, но это не добавляет ничего так или иначе:

if (!'#myinput:contains("UK")') { 
    jQuery('#myinput').one('keypress', function (e) { 
     if (e.which == 13) { 
     jQuery('#myinput').val($('#myinput').val() + ' UK'); 
     return false; 
     } 
    } 
}); 

ответ

4

Try .indexOf()

if (e.which == 13 && this.value.indexOf('UK') === -1){ 


this keyword


if (e.which == 13 && this.value.indexOf('UK') === -1) { 
    this.value = this.value + 'UK'; 
} 
+0

Отлично, спасибо. Это работает очень хорошо! Могу ли я также проверить, является ли это строчным «uk» каким-то образом? – user1444027

+0

@ user1444027 Да 'if (e.which == 13 && (this.value.indexOf ('UK') === -1 || this.value.indexOf ('Uk'))) {' –

+2

'this. value.toLowerCase(). indexOf ('uk') ' – undefined

Смежные вопросы