function validatePrice(input) {
return /^(\d*([.,](?=\d{3}))?\d+)+((?!\2)[.,]\d\d)?$/.test(input);
}
['WRONG',
'1,234,56',
'1.234.56',
'-1993',
'918,27.63',
'122.42.24',
'1,89,2',
'',
'Intl. format & US national format',
'2.56',
'14.56',
'134.56',
'1,234.56',
'2,991,234.00',
'',
'Italian national format with 2 decimals',
'9,56',
'24,56',
'134,56',
'721.234,56',
'21.234,56',
'1.234,56',
'9.321.234,56',
'69.321.234,56',
'269.321.234,56',
'1.269.321.234,56',
'International format for the de_DE locale',
'1,56',
'14,56',
'134,56',
'1234,56',
'98281234,56',
'No cents',
'1',
'14',
'134',
'1,234',
'2,991,234',
'9',
'24',
'134',
'1.234',
'9.321.234',
'1',
'14',
'134',
'1234',
'98281234'
].forEach(function(n) {
document.getElementById('results').innerHTML += "'" + n + "' => " + validatePrice(n) + "<br>";
})
<div id="results"></div>