我还不太清楚执行此操作的最佳方法,但是我将一些值输入到我的jquery插件中。我遵循在每个值后面添加一个空格的约定。然后,我获取jquery参数并尝试为每个参数添加一个“,”,以便可以将其输入json调用中。问题在于,如果我在空格处添加“,”,并且插件中变量返回的值为空,则会得到多个不需要的逗号。 (即,播客)。如果变量中有值,如何只添加逗号?

$(document).ready(function () {
   $('#gallery').mediaFilters({
        mediaType: '${article} ${podcast} ${image}',
        headerType: '${internet} ${cloud} ${background}',
    });
});


JQUERY发送​​到JSON:

var mediaType = "&mediaType=" + opts.mediaType.split(/[ ]/).join(',');
var headerType = "&headerType=" + opts.headerType.split(/[ ]/).join(',');

最佳答案

正则表达式/ +/将匹配多个空格,因此输入a b将变成a,b

正则表达式/^ *| *$/将匹配字符串开头和结尾的空格。

在一起,这里的代码将用逗号替换那些代码,并删除开始和结尾空格。

var mediaType = "&mediaType=" + opts.mediaType.replace(/^ *| *$/g,'').replace(/ +/g,',');
var headerType = "&headerType=" + opts.headerType.replace(/^ *| *$/g,'').replace(/ +/g,',');

07-26 09:04