ParseFloat and cultures
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/globalize/0.1.1/globalize.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/globalize/0.1.1/cultures/globalize.culture.en-AU.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/globalize/0.1.1/cultures/globalize.culture.es-AR.min.js"></script>
<div id="results"></div>
JavaScript
const regex = /(?:\d+(?:[., ]\d+))*((?:[.,]\d+))/g
const r = [
"$13,123 - $12 123,123",
"$13.123 - $12 123.123",
"$13.123 - $12,123.123",
"$13,123 - $12.123,123",
].map(val => {
console.log(regex.exec(val))
})