我还不太清楚执行此操作的最佳方法,但是我将一些值输入到我的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,',');