var sample = [
"€ 6.483,00",
"18,50%",
"+65,86 %"
]
for(var i = 0; i < sample.length; i++) {
var input = sample[i];
var regex = /^(\u20ac ?)?\+?\d+(\.\d+)?(\,\d+)?( ?%)?$/
console.log(input + "\t" + regex.test(input));
}
Если есть случаи, которые не совпадают / не должны совпадать, дайте мне знать.