如何从输入中获取@name 的数组索引?

用户11464975

我有一个 textarea 和一个下拉列表。我设置了它,因此如果用户执行@name(或任何操作),它将显示具有指定输入的用户下拉列表。我不知道如何使用正则表达式在其中搜索数组@name

示例:用户类型"Hi @bob",则数组为["Hi","@bob"]

我如何找到在哪里@bob以及如果用户在词后点击空格,正则表达式会检测是否在它之后放置了一个空格。

我试过的示例代码

$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);

 if(keycode == 64) { //Enter keycode
 $('.postingArea').on("keyup", function(){

    var inputVal = $(this).val();
    var res = inputVal.split(" ");
    console.log(jQuery.inArray( "@/w/", res ));

var myString = inputVal.match(/@([^ ]*)/)[1]; 
 var resultDropdown = $(this).siblings(".result2");


if (jQuery.inArray( "@", res ) < 1) {
        resultDropdown.empty();
    }else {

        $.get("../Admin/Users/SearchUser.php", {userAtd: myString}).done(function(data){
            // Display the returned data in browser
            resultDropdown.html(data);

        });
    } 
 })
}  

这种工作,但jQuery.inArray不接受正则表达式,所以它只在@被点击时有效,但不适用于后面的其余字母。然后它应该检测单词后面何时有空格,以便它知道@ 已完成。

当做 console.log(res); 日志中的输出是 ["this", "is", "a", "test", "@user"] 我需要的是它检测 @ 何时被点击,然后当数组的那部分完成时因为击中空间使数组 res 现在 ["this", "is", "a", "test", "@user",""]

用户11464975

我想出了答案,@Flo 的回应帮助我想出了这个。我必须检测两个不同的数组长度并比较两者并找到 @ 在两个数组之间开始的位置,然后将变量 x 设置为原始输入的长度,然后执行 .test 作为我的 if 语句。下面的代码

// @'d feature
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);

 if(keycode == 64) { //Enter keycode
 $('.postingArea').on("keyup", function(){

    var inputVal = $('.postingArea').val();
    var res = inputVal.split(" ");

 var res2 = inputVal.match(/@[a-z\d]+/ig);

 var resultDropdown = $(this).siblings(".result2");
var x=0;
if(x <= res2.length){
   x = res.length-1;
}

if(/@[a-z\d]+/ig.test(res[x])) {
  var myString = res[x]; 

        $.get("../Admin/Users/SearchUser.php", {userAtd: myString}).done(function(data){
            // Display the returned data in browser
            resultDropdown.html(data);

        });


    }else {



          resultDropdown.empty();

    } 
  })
  }
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取触发输入的“数组索引”,例如 <input name=test[]>?

来自分类Dev

如何获取数组的索引

来自分类Dev

输入的增量数组索引

来自分类Dev

如何获取数组中项目的索引?

来自分类Dev

如何获取数组中的对象索引

来自分类Dev

如何获取此数组中对象的索引?

来自分类Dev

如何从数组中快速获取对象索引

来自分类Dev

如何获取数组中索引的总和

来自分类Dev

如何获取JSON数组中对象的索引?

来自分类Dev

获取负数组索引

来自分类Dev

获取过滤数组的索引

来自分类Dev

获取索引数组的值?

来自分类Dev

获取数组索引的值

来自分类Dev

从名称获取数组的索引

来自分类Dev

从Javascript数组获取索引

来自分类Dev

获取数组排序的索引

来自分类Dev

从注解中获取数组索引

来自分类Dev

如何创建数组索引数组?

来自分类Dev

数组索引如何工作?

来自分类Dev

查询中的索引数组

来自分类Dev

查询中的索引数组

来自分类Dev

Perl中的数组索引

来自分类Dev

在MATLAB中索引数组

来自分类Dev

python中的索引数组

来自分类Dev

jQuery获取表单输入数组的索引

来自分类Dev

如何从PHP中的多维数组获取父数组索引

来自分类Dev

创建随机数组并获取索引中的值以及输入值但获取的信息错误时的索引

来自分类Dev

如何使用输入值作为数组索引

来自分类Dev

如何使用给定索引索引numpy数组?