$.normalizeTags = function(tags) { tags = tags.replace(/ +/gm, " "); if (tags.match(/,/gm)) { return tags; } var parts = tags.split(" "); if (parts.length <= 3) { return tags; } if (!confirm("Parece que você está usando espaços para separar as tags, quando deveria usar vírgula.\n\nQuer separar suas tags por vírgulas?")) { return tags; } var re = /["'](.*?)["']/gm; var matches = tags.match(re); tags = tags.replace(re, ""); tags = tags.replace(/^ *(.*?) *$/, "$1"); var new_tags = tags.split(" "); for (var i = 0; i < matches.length; i++) { new_tags.push(matches[i].replace(/['"]/gm, "")); } return new_tags.sort().join(", "); } alert($.normalizeTags(" maçã morango banana laranja 'uva ruby' \"banana maçã\" "));