Было решено вот так:
//ввод чисел в формате
function splitNums(delimiter, str) {
if (str == '.') return '';
str = str.replace(/[^\d\.]/g, "");
str = str.replace(/(\.)(.*?)\1/ig, '$1$2');
str = str.replace(/(\d+)(\.\d+)?/g,
function (c, b, a) {
return b.replace(/(\d)(?=(\d{3})+$)/g, '$1' + delimiter) + (a ? a : '')
}
);
return str;
}
Позволяет вводить только числа в формате 12 000.475. delimiter - любой разделитель, у меня пробел.
Может кто предложит проще...