function difference(a, b) {
var re = /([~!$%^&*()_+|`\-=\\\[\]{};':",\.\/<>?@#])/g;
a = a.replace(re, ' $1').split(' ');
b = b.replace(re, ' $1').split(' ');
var d1 = a.filter(function(i) {return !(b.indexOf(i) > -1);});
var d2 = b.filter(function(i) {return !(a.indexOf(i) > -1);});
return d1.concat(d2);
}
alert(difference("Мама! мыла очень кривую раму", "Мама? долго мыла кривую раму"));