jQuery - 如果“插入两个空格”,请执行此操作

时间:2013-10-16 01:48:12

标签: javascript jquery regex autocomplete

我正在寻找一个代码,当用户输入两个连续的空格时,自动完成功能会被关闭。现在,如果“#”不存在,则自动完成功能也会关闭。

这是我的代码:

// "post-input" is text-area element
var input = $("#post-input");

if (input.val().search("#") === -1 ){
     var blankResult = [];
     input.autocomplete({
         source: blankResult 
     });
     input.attr('autocomplete','off');
}

正如您所看到的,这可行,但现在我想添加第二个“功能”:如果用户键入两个空格(连续),则将禁用自动完成功能。我可以做input.val().search("#") === -1 || input.val().search(" ") === 2之类的事情吗?

注意:我知道上面的代码永远不会是真的,但我的意思是做这样的事情。

1 个答案:

答案 0 :(得分:1)

使用regexp / /g

匹配两个空格
if (input.val().search("#") === -1 || (/  /g.test(input.val()))) {
    //code here
}

阅读RegExp test

用于匹配最后两个字符

var last2 = input.val().slice(-2); //gets last two characters of string
if (input.val().search("#") === -1 || (/  /g.test(last2))) {
    //code here
}

var last2 = input.val().slice(-2); //gets last two characters of string
if (input.val().search("#") === -1 || last2 = '  ') {
    //code here
}

阅读.slice()