2016-04-18 4 views
1

Как я могу проверить внутри моей функции изменения ng, если последний введенный символ был пробелом? ng-trim должен иметь значение true.Проверьте, был ли последний введенный символ пробелом

Я устал идти до последнего набранного полукокса от

myStr.substr(myStr.length - 1) 

, но когда я сравнил это с «» или что-то еще это не сработало. Я должен увеличивать счетчик, когда последний символ - это пробел, но я не могу ждать другого.

EDIT: Я устал считать пространства, используя нг-накладку (так что это не возможно), поэтому ответы на этот вопрос хорошо, когда нг-триммер установлен по умолчанию - правда.

+0

сделать это на нг-нажатие клавиши – RahulB

ответ

0

Вы можете проверить, заканчивается ли значение текста с пробелами следующего регулярным выражением: /\s$/

/\s$/ означает белое пространство в конце строки. \s включает вкладки тоже (\ т) Если вам нужно только использовать пространство: / $/

JavaScript

var myStr = "some random string "; 

if(/\s$/.test(myStr)) { 
    // string contains space at last 
} else { 
    //string does not contain space at last 
}  
0

HTML

<input ng-model="vm.value" ng-change="vm.onChange()"> 

JS

vm.value = ''; 

vm.counter = 0; 

vm.onChange = function() { 
    if (vm.value[vm.value.length - 1] === ' ') { 
     vm.counter++; 
    } 
}; 
+0

она работает только тогда, когда нг-триммер установлен в ложь (мне нужно использовать это как истинный), но тогда я не нужно написать такой счетчик, потому что все пробелы подсчитываются. – adm

+0

, если 'ng-trim' истинно, тогда у вас никогда не будет пробелов в конце значения –

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