0

我正在使用一个 API,它接受来自名为#tags 的输入字段的字符串数组。最好的方法是什么?它还应该删除“标签”之间的任何逗号,如果没有标签,则为 []。

输入:tag1, tag2, tag3 变为: ["tag1", "tag2", "tag3"]

HTML

<input id="tags" type="text" placeholder="tags" name="" value="">

我目前如何获取标签值:

createPost('canvasID',{tags:$('#tags').val()});
4

5 回答 5

7

使用split功能:

var valueInserted = $("#tags").val(); // "tag1,tag2,tag3, "two words""
var tags = valueInserted.split(",");  // ["tag1", "tag2", "tag3", "two words"]

此外,trim()您的标签数组中的字符串:

for (var i in tags) {
    tags[i] = tags[i].trim();
}

JSFIDDLE

或内联,使用正则表达式:

 var tags = $('#tags').val().split( /,\s*/ );

JSFIDDLE

文档可以在这里找到。

于 2013-07-03T14:49:10.770 回答
1

您可以使用查找逗号后跟可能的空格的正则表达式来拆分字符串:

var yourArray = $('#tags').val().split( /,\s*/ );

接着

createPost('canvasID',{tags: tagsArray});
于 2013-07-03T14:49:51.540 回答
0

使用该split功能。

createPost('canvasID',{tags:$('#tags').val().split(',')});
于 2013-07-03T14:49:36.473 回答
0
   var str = "tag1,tag2,tag3,tag4";
   var res = str.split(",");

结果:["tag1", "tag2", "tag3", "tag4"]

于 2020-08-29T17:57:59.223 回答
0

   var res = name.replace(/["]+/g, ""); // remove """"               

 

   global with /g
   var resa = res.replace(/[[]+/g, ""); // remove [
   var reso = resa.replace(/[,]+/g, "");// chop            //,,,,,
   str = reso.substring(0, reso.length - 1);//         finally   chop off last ]
// you can chop off all double quotes after 
于 2020-08-29T18:04:56.873 回答