检查最后输入的字符是否为空格

时间:2016-04-18 17:52:13

标签: javascript angularjs

如果最后输入的字符是空格,我如何检查我的ng-change函数? ng-trim必须设置为true。

我厌倦了

去找我最后一个打字的字符
myStr.substr(myStr.length - 1)

但当我把它与#34;进行比较时"或者别的什么都没有用。当最后一个角色是一个空格时,我必须增加一个计数器,但我不能等待另一个。

修改 我厌倦了使用ng-trim来计算空间(所以它不可能),所以当ng-trim设置为默认值时,这个问题的答案是好的。

3 个答案:

答案 0 :(得分:0)

您可以通过以下正则表达式检查文本值是否以空格结尾:  /\s$/

/\s$/表示字符串末尾的空格。 \s也包含标签(\ t)如果您只需要空格使用:/ $/

<强>的JavaScript

var myStr = "some random string ";

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

答案 1 :(得分:0)

使用String.prototype.substr(start, from)

var str = "lego ";
str.substr(str.length-1, str.length-2)===" "
> true

甚至更好地使用String.prototype.endsWith(value)

var str = "lego ";
str.endsWith(" ");
> true

答案 2 :(得分: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++;
    }
};