在空格上拆分字符串

时间:2015-09-01 11:21:58

标签: javascript jquery ajax

我有一个textarea,您可以在其中键入消息。键入' @'后,应在空格上拆分消息。将所有单词放入数组后,我想在数组中搜索这样的单词:@person1@person2

但第一部分已经出错了。

我尝试使用以下代码,但数组似乎总是空的。

$("textarea.autocomplete-pt").keypress(function(e) {
    if (e.which == 64) {
        var string = $(".autocomplete-pt").text(),
            array = string.split(/ +/);
        console.log(array);
    }
});

我做错了什么?

以下是jsfiddle

1 个答案:

答案 0 :(得分:3)

要阅读inputtextarea的内容,您必须使用val()而不是text()。有关更多详细信息,请参阅jQuery文档,但您的代码应如下所示:

$("textarea.autocomplete-pt").keypress(function(e) {
    if (e.which == 64) {
        var string = $(".autocomplete-pt").val().trim();
        var array = string.split(/\s+/);
        console.log(array);
    }
});

正如Tushar在评论中已经建议的那样,最好使用\s+代替 来匹配空格,因为它还处理多个空格和其他类型的空格(选项卡,短空格和长空格等,如果用户粘贴从其他页面复制的文本或者它们具有日文的双/单宽度字符,则它特别有用。